У меня есть класс со свойством, которое содержит сериализованные данные в формате json:
public class MyObject
{
public string SerializedData
{
get
{
...
}
set
{
...
}
}
}
Объект является свойством объекта базы данных платформы сущностей:
public class MyRecord
{
public int Id { get; set; }
public MyObject Item { get; set; }
}
I 'Теперь я пытаюсь написать оператор LINQ, чтобы проверить, содержит ли сериализованная строка мой текст для поиска.Я строю оператор LINQ динамически:
var predicate = PredicateBuilder.New<TEntity>();
var param = Expression.Parameter(typeof(TEntity), typeof(TEntity).Name);
Expression property = Expression.Property(param, type.Name);
Expression contains = Expression.Call(
property, "Contains",
null,
new[] { Expression.Constant("test") });
predicate.Or(Expression.Lambda<Func<TEntity, bool>>(contains, param));
Мой объект не содержит метод "Contains", поэтому я добавляю один:
public class MyObject
{
...
public bool Contains(string value)
{
return true;
}
}
Когда мой запрос выполняется, я получаюследующая ошибка:
LINQ to Entities не распознает метод метода Boolean Contains (System.String), и этот метод нельзя преобразовать в выражение хранилища.
Я не уверен, чтоя даже правильно подхожу к этому?
Может кто-нибудь помочь, пожалуйста?
Спасибо