リポジトリで、私はこれを行います:
public AgenciesDonor FindPrimary(Guid donorId) {
return db.AgenciesDonorSet.Include("DonorPanels").Include("PriceAdjustments").Include("Donors").First(x => x.Donors.DonorId == donorId && x.IsPrimary);
}
次に、同じリポジトリ内の別のメソッドでダウンします。これは次のとおりです。
AgenciesDonor oldPrimary = this.FindPrimary(donorId);
デバッガーでは、結果ビューにそのテーブルのすべてのレコードが表示されますが、次のようになります。
oldPrimary.Count();
は 1 です (そうあるべきです)。
1 つだけではなく、すべてのテーブル エントリが取得されているのはなぜですか? DBで行フィルタリングが行われていると思いました。
db.EntitySet が実際にすべてをクライアントにフェッチする場合、EF を使用してクライアントのデータライトを維持する正しい方法は何ですか? すべての行をフェッチしても、私がやっていることには対応できません。