Entity Framework 6 DateTime.ToString (). Содержит () Ошибка [дубликат]

Типы ссылок по умолчанию равны null, чтобы указать, что они не ссылаются на какой-либо объект. Следовательно, если вы попытаетесь получить доступ к объекту, на который ссылаетесь, а его нет, вы получите исключение NullReferenceException.

Для Ex:

SqlConnection connection = null;
connection.Open();

Когда вы запускаете это кода, вы получите:

System.NullReferenceException: Object reference not set to an instance of an object.

Вы можете избежать этой ошибки, например, следующим образом:

if (connection != null){
    connection.Open();
}

Примечание. Чтобы избежать этой ошибки, вы всегда должны инициализировать свои объекты прежде чем пытаться что-либо сделать с ними.

88
задан Nivid Dholakia 31 August 2011 в 17:50
поделиться

1 ответ

Как вы поняли, Entity Framework не может запустить ваш код C # как часть его запроса. Он должен иметь возможность преобразовать запрос в фактический оператор SQL. Чтобы это сработало, вам придется реструктурировать выражение запроса в выражение, которое может обрабатывать Entity Framework.

public System.Linq.Expressions.Expression<Func<Charity, bool>> IsSatisfied()
{
    string name = this.charityName;
    string referenceNumber = this.referenceNumber;
    return p => 
        (string.IsNullOrEmpty(name) || 
            p.registeredName.ToLower().Contains(name.ToLower()) ||
            p.alias.ToLower().Contains(name.ToLower()) ||
            p.charityId.ToLower().Contains(name.ToLower())) &&
        (string.IsNullOrEmpty(referenceNumber) ||
            p.charityReference.ToLower().Contains(referenceNumber.ToLower()));
}
96
ответ дан StriplingWarrior 4 September 2018 в 10:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: