匿名の C# メソッドでローカル変数を使用することは可能です。つまり、次のコードでは、カウントを 1 回だけ実行したいと考えています。
IQueryable<Enquiry> linq = db.Enquiries;
if(...) linq = linq.Where(...);
if(...) linq = linq.Where(e =>
(x <= (from p in db.Orders where p.EnquiryId == e.Id select p).Count() &&
(from p in db.Orders where p.EnquiryId == e.Id select p).Count() <= y));
if(...) linq = linq.Where(...);
var result = (from e in linq select e);
匿名関数の「let」はありますか?
更新: このステートメントの後にいくつかの Where 句を追加しているため、select で閉じることができないことに注意してください。
/ニールス