我有一個查詢表和我的數據庫中的數據表。我將以性別和人物爲例。所以我們可以說性別表看起來像這樣:實體框架代碼保存後首先不延遲加載
Id Code
1 Male
2 Female
和人表看起來像這樣:
Id Name GenderId
1 Bob 1
2 Jane 2
我仿照EF代碼兩個表第一,像這樣:
public class Gender
{
public int Id {get;set;}
public string Code {get;set;}
}
public class Person
{
public int Id {get;set;}
public string Name {get;set;}
public int GenderId {get;set;}
public virtual Gender {get;set;}
}
如果我讀了一個已經在數據庫中的人,那麼我可以訪問person.Gender.Code而不會有任何問題。如果我這樣做:
var person = new Person
{
Name = "Bob",
GenderId = 1,
};
context.People.Add(person);
context.SaveChanges();
var code = person.Gender.Code;
然後,它會正確保存,但性別爲空的最後一行將失敗。如果我然後打開一個新的上下文並加載保存的實體,那麼最後一行工作正常。有沒有一種方法可以在保存後直接訪問性別,就像我剛剛從數據庫加載實體一樣?
的最後一句話是未完成的,你能不能改正呢? –
對不起,第一次沒有保存,當我回到頁面時,它一定不會裝載整個東西。 – VARAK