实体框架不会从新添加的列

时间:2018-02-04 23:24:40

标签: c# .net asp.net-mvc entity-framework linq

型号:

//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:'指定的类型成员' isAdmin'是   LINQ to Entities不支持。只有初始化者,实体成员,   支持实体导航属性。'

==

我确实尝试删除ADO.NET模型并重新添加它,重启我的机器但没有运气MVC模型仍然没有从数据库中获取正确的值。 (虽然它拿起了新专栏)。

我确实多次更改了我的数据库结构并且很好,我做的一件事就是将.NET框架目标从4.6更改为4.5.2,这会导致这个问题吗?

回到主要问题是为什么模型没有返回正确的值,以及为什么在我查询时(isAdmin == true)它不受支持的异常 - 这应该是领先的,但是我一无所知&#39继续。

1 个答案:

答案 0 :(得分:1)

我设法解决这个问题而不知道到底发生了什么,但我最好的猜测是ADO.NET/Entity Framework的缓存(或其他任何东西)。

只需创建一个具有不同名称的ADO.NET模型,然后它就可以正常地从数据库中正确加载数据。

如果有人对此案件有假设解释,请随时在评论中记下来。