私はルックアップテーブルとデータテーブルをデータベースに持っています。私は例のために性別と人を使用します。Entity Frameworkコード保存後の最初の読み込み遅延がありません
Id Code
1 Male
2 Female
と人テーブルがそうのようになります:
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;}
}
:
Id Name GenderId
1 Bob 1
2 Jane 2
私が最初にそうようなEFコードで両方のテーブルをモデル化してきましたそれでは、そのように男女のテーブルに見えるとしましょう
DBに既に存在する人物を読むと、問題なくGender.Codeにアクセスできます。私がこれをすると:
var person = new Person
{
Name = "Bob",
GenderId = 1,
};
context.People.Add(person);
context.SaveChanges();
var code = person.Gender.Code;
これは正しく保存されますが、最後の行では性別がnullのため失敗します。私は新しいコンテキストを開いて保存されたエンティティを読み込むと、最後の行が正常に動作します。あたかもDBからエンティティをロードしたかのように、セーブ後にジェンダーに直接アクセスできる方法はありますか?
最後の文は未完成である、あなたはそれを修正するだろうか? –
申し訳ありませんが、最初に保存しませんでした。ページに戻ったときに、すべてを読み込んではいけません。 – VARAK