簡體   English   中英

實體框架未從新添加的列中獲取值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM