0

私はEntityFrameworkを使用しており、データベース内でユーザーとボックスの間に次のような多対多の関係があります。

public class HistoryEntry
{
    public int BoxId { get; set; }
    public virtual Box Box { get; set; }

    public int UserId { get; set; }
    public virtual User User { get; set; }

    public int ResultBoxId { get; set; }
    public virtual Box ResultBox { get; set; }
}

この「HistoryEntries」テーブルのキーは複数列のキーになります。これは、BoxIdとUserIdで構成されます。

        modelBuilder.Entity<HistoryEntry>().HasKey(entry =>
            new
            {
                BoxId = entry.BoxId,
                UserId = entry.UserId
            });

ただし、すべてのクエリを積極的な読み込みで使用するため、遅延読み込みとプロキシの作成をオフにします。

「積極的な読み込み」スタイルでコードを書き直すにはどうすればよいですか?

4

1 に答える 1

2

このメソッドを使用してInclude、ナビゲーションプロパティを熱心にロードします。

var users = context.User.Include(u => u.HistoryEntries.Select(h => h.Box))
      .Where(/* */);
于 2012-09-09T15:48:49.857 に答える