我的模型看起來像這樣Enitify框架代碼第一:更新實體所需的相關導航性能
public Class Address
{
public int Id {get;set;}
/*Props here*/
}
public Class Person
{
public int Id {get;set;}
public String Name {get;set;}
[Required]
public Address Address{get;set;}
/*More props*/
}
現在假設我已經創建了正確的地址的人,在未來,當我嘗試更新的人這樣
var person= db.Persons.FirstOrDefault(p=>p.Id=1234);
person.Name="Foo";
db.SaveChanges();
它給出錯誤說地址是必需的。
因此,爲了避免這種IAM包括地址屬性也同時加載Person實體
var person= db.Persons.Include(p=>p.Address).FirstOrDefault(p=>p.Id=1234);
person.Name="Foo";
db.SaveChanges();
有什麼辦法,我可以更新person
不包括Address
。
你的'Address'實體是否有一個指定的主鍵(隱式使用'Id'屬性,或明確地使用'[Key]'屬性)? – KallDrexx
@KallDrexx:是的,更新了我的問題 –