0
をロードしました。 I DbContextとEF 6.1.3のためのエンティティ作成しました:私はAを取得すると一つは、私はしなかった、データベース内の1対1対多の関係を持っている
public class A{
public int Id { get; set; }
public virtual B B { get; set; }
}
public class B{
public int Id { get; set; }
public int AId { get; set; }
public virtual A A { get; set; }
public virtual ICollection<C> Cs { get; set; }
}
public class C{
public int Id { get; set; }
public int BId { get; set; }
public virtual B B { get; set; }
}
public class MyDb : DbContext {
public DbSet<A> As { get; set; }
public DbSet<B> Bs { get; set; }
public DbSet<C> Cs { get; set; }
}
を:
var a = MyDb.As.FirstOrDefault();
をおよび関連BのCコレクションに回数を行う(1へA)と1、Csのコレクションが空である:
var countCs = a.B.Cs.Count; // This is 0
私が行うとき、中:
var b = MyDb.Bs.FirstOrDefault(b => b.AId == a.Id);
var countCs = b.Cs.Count; // This is the correct value
私はCsにから作業遅延読み込みを取得するために、データannotiationsまたはFluentApiとの関係を構築する必要がありますどのように
?実行されたSQLをチェックしてください。
最初のものは、常にしてみてください。 –