-1
我有一個bool
方法的類,例如:我可以在實體框架代碼優先中使用我的領域模型中的謂詞嗎?
public bool IsInFuture()
{ return this.Date > DateTime.Now; }
而且我把它保存在使用EF代碼第一次的數據庫。如果我將嘗試使用Linq中的操作說明上游,我會得到一個例外,因爲它不能被轉換成SQL:
await context.Where(order => order.IsInFuture()).ToListAsync();
這個謂詞的邏輯可以是相當複雜的,我不希望在我的代碼中複製它。有什麼辦法可以將代碼嵌入到Linq操作中?我很確定,這個問題有一個解決方案。
在此先感謝!
爲什麼這需要是布爾方法?它看起來只是一個返回屬性,然後你可以在你使用這個linq等待context.Where(order => order.IsInFuture).ToListAsync(); –
然後我需要將這些屬性存儲在數據庫中。我需要他們來計算。 – Waldemar
您不能使用自定義功能。您可以使用表達式,但必須可以轉換爲SQL。 –