2017-02-23 5 views
0

Ich verwende Entity Framework 6 mit C#.Entity Framework Suche nach Entität Eigenschaft und Entität ICollection

Meine Tabellen sind wie;

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; } 
} 

Ich möchte Text suchen in Product.Name und Product.ProductInfos ->Name.
Like;


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

jedoch, wie Sie mein Gehirn gestoppt wurde sehen :)
Wie eine Klasse Eigenschaft und Kind-Klassen Eigenschaften abfragen können?

Ps.s. Dies sind keine großen Tabellen. Sorgen Sie sich nicht um Leistungsfehler. Ich habe nur 50 Produkte.

+0

Was ist der Fehler? Was ist das Ergebnis? Hast du deine Anfrage getestet? – CodeNotFound

Antwort

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

Während dieses Code-Snippet die Frage lösen kann, [hilft eine Erklärung] (http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich, um die Qualität Ihres Beitrags zu verbessern. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. –

Verwandte Themen