2017-02-23 62 views
0

Я использую сущность framework 6 с C#.Entity Framework Поиск по объекту Свойство и объект ICollection

Мои столы похожи;

public class Product 
{ 
    public Product() 
    { 
     ProductInfos = new List<ProductInfo>(); 
    } 

    ... 

    public string Name { get; set; } 

    public virtual ICollection<ProductInfo> ProductInfos { get; set; } 
} 

public class ProductInfo 
{ 
    ... 

    public long ProductId { get; set; } 

    public string Name { get; set; } 
} 

Я хочу искать текст в Product.Name и Product.ProductInfos ->Name.
Нравится;


        queryable = queryable.Where(x => x.Name.Contains(searchtext)) 
             .Where(p => p.ProductInfos.Where(p => p.Name.Contains(searchtext))); 

Однако, как вы можете видеть, что мой мозг был остановлен :)
Как запросить собственности и дочерние классы свойства класса в?

P.s. Это не большие таблицы, не беспокойтесь о ошибках производительности. У меня всего 50 продуктов.

+0

Какая ошибка? Что в итоге? Вы проверили свой запрос? – CodeNotFound

ответ

1
queryable = queryable.Where(x => x.Name.Contains(searchtext) || 
           x.ProductInfos.Any(y => y.Name.Contains(Seachtext)); 
+0

Хотя этот фрагмент кода может решить вопрос, [включая объяснение] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. –