我有兩個簡單的模型,有一個一對多的關係簡單的插入通過ASP MVC3的EntityFramework
public class X{
public int id {get;set;}
public virtual Y y{ get; set; }
public string description{get;set;}
}
public class Y{
public int id{get;set;}
public string name{get;set;}
}
,並從實體框架,我設置
我試圖提交創建表格的關係一個新的X
記錄與現有的Y
值
從窗體返回的行爲數據是string description
和。
的動作時,我嘗試從
public ActionResult sth(X x){}
的x.y
設置爲空(預計...),而當我試着下面的參數指定的對象...
x.y = (from i in Y where i.id == that_id select i).first();
...
db.saveChanges();
實體框架插入一個新的Y
記錄到數據庫中...
我知道我做錯了什麼......你的幫助將是v非常感謝!
先生,'y'是由相同的數據庫上下文中的linq查詢生成的,插入的ID是db身份被替換爲一個新的...我將嘗試attach方法並查看會發生什麼 – Hilmi
Sir ,附加方法工作完美,只是你能告訴我爲什麼發生這個問題,是因爲'Y'是虛擬成員(它沒有連接到控制器數據庫上下文)?非常感謝先生, – Hilmi