【发布时间】:2011-11-03 21:51:59
【问题描述】:
有没有人建议如何使 LINQ to SQL 支持此功能?
public bool IsEnabled()
{
return !this.Disabled &&
((!this.EnabledFrom.HasValue || this.EnabledFrom < DateTime.Now) &&
(!this.EnabledTo.HasValue || this.EnabledTo > DateTime.Now));
}
Disabled 是 bool,EnabledFrom 和 EnabledTo 是 DateTime?以及所有数据库字段。
【问题讨论】:
-
您显示的代码中似乎没有任何 LINQ。我怀疑这是导致您的错误的代码。
-
使用 IsEnabled 的查询示例(部分); query = query.Where(a => a.PageMeta.Hidden == !visible && a.PageMeta.IsEnabled() == visible);
-
问题可能是它试图在 SQL 中查找 IsEnabled。将逻辑从 IsEnabled 直接移动到 linq 查询。
-
Linq2Sql应该把你的代码转换成什么SQL语句?什么是 PageMeta?你的 IsEnabled 方法中的“this”指的是什么?
-
让它返回一个表达式。
标签: c# linq-to-sql