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
Einfach ein
KeywordSplitted.All(kw => c.Title.Contains(kw))