1

EFコードファーストには2つのモデルがあります。

public class Book
{
 public int Id { get; set; }
 public virtual IEnumerable<Page> Pages { get; set; }
}

public class Page
{
 public int Id { get; set; }
 public int BookId { get; set; }
 public Book Book { get; set; }
}

DBからBookモデルをロードする場合、PagesプロパティはNullです。ただし、IEnumerable => ICollectionを置き換えると、遅延読み込みが機能し、DBからページがいっぱいになります。IEnumerableと遅延読み込みを一緒に使用するにはどうすればよいですか?

4

1 に答える 1

2

IEnumerable変更(追加または削除)できない不変のコレクションです。内部的にEFはモデルのコレクションを変更する必要があるため、EFはこのタイプをサポートしていません。

ICollection代わりに、ICollectionから継承を使用して、IEnumerable実行の遅延(遅延読み込み)の目的を取得するだけでなく、コレクションを変更するためのメソッドも追加します。

于 2013-02-24T07:20:25.387 に答える