![](/img/trans.png)
[英]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.