ですから、ここでアドバイスと洞察が必要です。ご意見ありがとうございます。
LINQ エンティティから単一のレコードを返す静的関数を開発しました。そのようです:
FooRecord GetRecord(Guid id)
{
using(var dc = new FooDataContext())
return dc.FooRecords.Where(a => a.Id == id).First();
}
DataContext が既に破棄されているため、これにより例外がスローされ、遅延実行で問題が発生します。これは機能します:
FooRecord GetRecord(Guid id)
{
var dc = new FooDataContext();
return dc.FooRecords.Where(a => a.Id == id).First();
}
私が心配しています。DataContext はどのくらいの速さで破棄されますか? 明らかに、レコードをすぐに取得しても問題は発生しません。ただし、関連付けを通じてレコードを取得する必要があるとします。
var record = Data.FooRecord.GetRecord(id);
//Do a bunch of stuff...
//Now we grab the related record from another entity
var barRecord = record.BarRecord
この時点で DataContext がなくなるリスクはありますか? 何かアドバイス?