EF 4.1 を使用して、5 万の大きなデータ テーブルをクエリしようとしています。DbContext の比較的高いタイムアウトを次のように設定しました。
public class YourContext : DbContext
{
public YourContext()
: base("YourConnectionString")
{
// Get the ObjectContext related to this DbContext
var objectContext = (this as IObjectContextAdapter).ObjectContext;
// Sets the command timeout for all the commands
objectContext.CommandTimeout = 500;
}
}
それでも十分ではないようですが、Take(10000) している間は機能します。ここでは、サーバー側のページングのオプションはありません。このタイムアウトの状況を解消する方法を知っておくとよいでしょう。
実装またはリポジトリのパターンが原因ですか、それとも EF は大きなデータを処理できませんか?