追跡なしクエリ
場合によっては、クエリの結果からエンティティを取得し、それらのエンティティがコンテキストによって追跡されないようにしたい場合があります。 そうすることで、読み取り専用シナリオで多数のエンティティに対してクエリを実行したときに、パフォーマンスが向上する場合があります。 このトピックで紹介するテクニックは、Code First および EF Designer で作成されたモデルに等しく使用できます。
新しい拡張メソッド AsNoTracking を使用すると、任意のクエリをこの方法で実行できます。 次に例を示します。
using (var context = new BloggingContext())
{
// Query for all blogs without tracking them
var blogs1 = context.Blogs.AsNoTracking();
// Query for some blogs without tracking them
var blogs2 = context.Blogs
.Where(b => b.Name.Contains(".NET"))
.AsNoTracking()
.ToList();
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET