
[英]Entity Framework - Insert if newly added to the collection, delete if removed from the collection
[英]Entity Framework does not pick up the value from newly added column
型号:
//Auto generated by MVC Model
public partial class user
{
public int Ref { get; set; }
public string First_Name { get; set; }
public bool isAdmin { get; set; } //the problem
}
数据库:
Ref | First_Name | isAdmin
1 | Admin | 1
2 | Bob | 0
C#:
var u1= db.users.Find(1); //get Admin
var ia1= u1.isAdmin; //return false (0)
var adminList = db.users.Where(i => i.isAdmin == true).ToList(); //return error
错误:
System.NotSupportedException:在LINQ to Entities中不支持指定的类型成员'isAdmin'。 仅支持初始化程序,实体成员和实体导航属性。
======
我确实尝试删除ADO.NET模型并重新添加它,重新启动计算机,但是没有运气的MVC模型仍然无法从数据库中获取正确的值。 (尽管它选择了新列)。
我做了很多次数据库结构更改,这很好,然后我做了另一件事,那就是将.NET Framework目标从4.6更改为4.5.2,这将是导致此问题的原因吗?
回到主要问题是为什么模型不返回正确的值,以及为什么当我通过(isAdmin == true)查询时,模型不支持异常-这应该是线索,但不知道发生了什么。
我设法解决了这个问题,但不知道到底发生了什么,但我最好的猜测是ADO.NET/实体框架的缓存(或其他缓存)。
只需创建一个具有不同名称的ADO.NET模型,然后它就可以正常工作,并且可以从数据库正常加载数据。
如果有人对此案例有假设的解释,请随时在评论中记下。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.