2016-08-11 4 views
0

私はEF CodeFirstアプローチを使用する小さなアプリケーションを持っています。モデル上の1つは、もう1つは1対1の関係にあります。ここで私は新しい顧客を作成し、私はすべてのデータを持ってこの顧客を選択しようとするが、ナビゲーションプロパティがnullの場合は、既存の外部キーを使用した1対1の関係の更新

Customer superCustomer = new Customer(); 
superCustomer.PersonInfoId = 21; 

customersContext.Customers.Add(superCustomer); 

にParentIdは設定例

public class Customer 
{ 
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int Id {get; set;} 
    public string Name {get; set;} 
    public int PersonInfoId {get; set;} 
    public virtual Person PersonInfo {get; set;} 
} 

public class Person 
{ 
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public int Id {get; set;} 
    public string Name {get; set;} 
    //Some other properties 
} 

です。

var c = customersContext.Customers.Where(x => x.Id == 1).FirstOrDefault(x=>x); 

c.Person //is null :(

しかし、私は、アプリケーションを再起動し、この特定の顧客を選択するよりも、ナビゲーションプロパティはEFでいつものようにdymamicプロキシで満たされる場合。コンテキストが再現されるまでEFはナビゲーションプロパティを取得します。これを修正する方法はありますか?

答えて

0

次のことを試してください。

var c = customersContext.Customers.Inclue(x=>x.PersonInfo).Where(x => x.Id == 1).FirstOrDefault(x=>x); 
関連する問題