Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
LinqToSql: Select where mit mehreren Keywords und Feldern
[email protected]
myCSharp.de - Member



Dabei seit:
Beiträge: 407

Themenstarter:

LinqToSql: Select where mit mehreren Keywords und Feldern

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
dN!3L
myCSharp.de - Experte

Avatar #avatar-2985.png


Dabei seit:
Beiträge: 3138

beantworten | zitieren | melden

Einfach ein


KeywordSplitted.All(kw => c.Title.Contains(kw))
private Nachricht | Beiträge des Benutzers