Laden...

LinqToSql: Select where mit mehreren Keywords und Feldern

Erstellt von M@TUK vor 12 Jahren Letzter Beitrag vor 12 Jahren 695 Views
M
M@TUK Themenstarter:in
402 Beiträge seit 2005
vor 12 Jahren
LinqToSql: Select where mit mehreren Keywords und Feldern

verwendetes Datenbanksystem: SQL-Server 2008 r2

Hi,

folgendes Problem für eine Produktsuche müssen mehrere Keywords angeben werden können.

z.B.: Bosch Säge

das ganze soll nur über "AND" verknüpft werden, aber es gibt eben mehrere Felder in denen das Keyword drinnen stehen kann.

Momentan hab ichs unsauber gelöst und muss das rausbringen:

Ich splitte erst die Keywords beim Leerzeichen.

Und dann hab ich einen monsterquery...



from c in product where  
(c.Title.Contains(KeywordSplitted[0]) && c.Title.Contains(KeywordSplitted[1]))
|| (c.SubTitle.Contains(KeywordSplitted[0]) && c.SubTitle.Contains(KeywordSplitted[1]))... usw...


Ich hab hier also einen Query in dem ich alle Felder mit allen Keywords kombiniere, da kommt natürlich bei 5 Feldern schon einiges zusammen,
ganz zu schweigen wenn ich das für 3 oder mehr Keywords brauche.

Welche Lösungsansätze für so eine Suche gibts denn?
Kann man diesen Query zumindest irgendwie dynamisch aufbauen?

lg

2.891 Beiträge seit 2004
vor 12 Jahren

Einfach ein


KeywordSplitted.All(kw => c.Title.Contains(kw))