linqをSQLクエリに分割して、より読みやすくすることを試みています。LINQ to SQLの再利用可能なチャンクを作成する
私は、前年に100件以上の注文があった製品のすべての注文を返すとします。
private IQueryable<Order> LastSeasonOrders(Order order)
{
return (from o in _context.Orders
where o.Year == order.Year - 1 && o.Product == order.Product
select o);
}
その後、私は、元のクエリにを変更することができます:私は行うことができるようにしたいのですがどのような
from o in _context.Orders
where (from o1 in _context.Orders
where o1.Year == o.Year - 1 && o1.Product == o.Product
select o1).Count() > 100
select o;
は、再利用可能な機能でネストされたクエリを置くことです:私はこのクエリを持っています:
from o in _context.Orders
where LastSeasonOrders(o).Count() > 100
select o;
ただし、クエリの実行時にメソッド呼び出しをSQLに変換できないという例外はありません。
これを達成するための簡単なヒントを教えてください。
私はこれに疑問を抱いていましたが、自分自身に問いかけてきませんでした。 –