Метод X не поддерживает перевод на SQL - логические значения и дата и время - PullRequest
7 голосов
/ 03 ноября 2011

Кто-нибудь предлагал, как сделать эту функцию поддерживаемой 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?и все поля базы данных.

1 Ответ

6 голосов
/ 03 ноября 2011

Заставьте ваш метод 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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...