我正在编写此 LINQ to EF 查询以获取匹配的项目。
if (user.UserID > 0)
{
var TempUser = (from c in GSData.tblUsers
where c.UserID == user.UserID
select c).First();
..........
用户的价值。运行时的用户 ID 为 579,并且存在匹配的行。但是我收到错误
{"This property cannot be set to a null value."}
System.Data.ConstraintException was unhandled by user code
此外,它在设置中间名的地方令人惊讶地中断。它恰好是 tblUsers 数据库中带有 nvarchar(20) 的字段,值为 null。
_MiddleName = StructuralObject.SetValidValue(value, false);
但是,我已经编写了类似的查询来获取匹配的项目,并且它们工作正常。我只是选择而不是更新任何值。所以我一直在为为什么会发生这种情况而感到困惑。欢迎任何建议。
删除实体模型中的表,然后选择"从数据库更新"。EF 不会仅通过更新现有表来选取可为空/不可为空的更改。