0
我有這些輔助方法:實體框架的IQueryable沒有where子句
public static IQueryable<T> All<T>(this IUnitOfWork unitOfWork)
where T : class
{
return unitOfWork.Context.Set<T>();
}
public static T Find<T>(this IUnitOfWork unitOfWork, Func<T, bool> predicate)
where T : class
{
return unitOfWork.All<T>().FirstOrDefault(predicate);
}
當我把第二個這樣的:
var payment = _unitOfWork.Find<ContactRow>
(p => p.PaymentAttemptRef == paymentAttemptRef
&& p.ContactType == type);
我希望謂語成爲查詢的一部分! !但問題是生成的select沒有where子句並且拉回表中的所有行。
任何想法爲什麼會發生這種情況?第二種方法調用第一個,它返回一個iqueryable,所以我認爲它會做到這一點?