是否有人建议如何使LINQ to SQL支持此功能?
public bool IsEnabled()
{
return !this.Disabled &&
((!this.EnabledFrom.HasValue || this.EnabledFrom < DateTime.Now) &&
(!this.EnabledTo.HasValue || this.EnabledTo > DateTime.Now));
}
已禁用是bool,EnabledFrom和EnabledTo是DateTime?和所有数据库字段。
答案 0 :(得分:6)
让IsEnabled
方法返回表达式。
见这里:http://www.atrevido.net/blog/2007/09/05/Calling+Custom+Methods+In+LINQtoSQL.aspx
下面的内容(未经测试):
static Expression<Func<Account, bool>> IsEnabled = a =>
!a.Disabled &&
((!a.EnabledFrom.HasValue || a.EnabledFrom < DateTime.Now) &&
(!a.EnabledTo.HasValue || a.EnabledTo > DateTime.Now));