考慮函數:創建空的lambda表達式
public async Task<IEnumerable<Purchases>> GetPurchases(User user, Expression<Func<Purchases, bool>> whereClause)
{
using (var context = new UserDbContext())
{
context.Users.Attach(user);
context.Entry(user).Collection(p => p.Purchases)
.Query()
.Where(whereClause)
.Load();
if (Equals(user.Purchases, null))
return new List<Purchases>();
}
return user.Purchases;
}
在這個函數的參數whereClause可有時null
,我想檢查其空,然後如果是這樣分配一個空的表達。因爲我來這是接近:
if (Equals(whereClause, null))
whereClause =() => { };
這是基於對這個問題here,但使whereClause空,我發現了錯誤的行。
錯誤7並非所有的代碼路徑在類型 「System.Func」 <的lambda表達式返回一個值「採購,布爾>」
任何人都知道這是如何被校正?
Yessir! PERFECTO。 –