Linq-To-SQLとしてORMとして使用し、リポジトリパターンを使用するデータアクセスレイヤがあります。例"AsQueryable()"問題を伴うLinqToSQLパフォーマンス
public class OrderRepository : IRepository<DTO.Order>
{
DTO.SampleDataContext _db = null;
public OrderRepository()
{
_db = DataContextFactory.Create();
}
public OrderRepository(DTO.SampleDataContext db)
{
_db = db;
}
public IQueryable<DTO.Order> SelectAll()
{
var q = from o in _db.Orders
select o;
return q.AsQueryable();
}
については
そして、私のビジネス層は、それの結果にSelectAll()
方法とクエリの結果で動作します。 SQLプロファイラLINQのツーSQLで
は、ネストされたクエリを生成し、このような何か
select * from f1
(
select * from Orders
) as f1
where f1.RecordDateTime > @p1
はそのアプローチで任意のパフォーマンス上の問題はありますか?事前
:あなたは本当に実装を行うと、私はこのような何かをやって、あなたをお勧めしますのIQueryableを使用したい場合は
または:あなたのケースで、私はこのような何かをやって、あなたをお勧めしますAsQueryable()を呼び出す必要がありますか?とにかくqはすでにIQueryableのタイプになります。 –