-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。 –