LINQ to SQL-Abfrage, wo ein string StartsWith ein element aus einer generischen Liste
Ich bin auf der Suche zum aktualisieren einer meiner Abfragen, wie die Anforderungen an die Suche hat sich geändert. Ursprünglich wurde der Benutzer zur Eingabe eines Einzel-SKU und ein mfg. Datumsbereich für die Suche im Produktkatalog. Also das ist, was ich verwendet habe.
DateTime startDate = ...;
DateTime endDate = ...;
string prodSKU = TextSKU.Text.Trim();
var results = from c in db.Products
where c.is_disabled == false
&& c.dom >= startDate
&& c.dom <= endDate
&& c.sku.StartsWith(prodSKU)
select c;
Nun die Vorschrift sagt, dass der Benutzer ein Komma eingeben delimted Liste der SKUs in das Textfeld zu suchen. Was ich nicht verstehe, ist, wie alle finden die Produkte in der mfg. Datumsbereich, beginnen mit einem der SKUs in skuList (w/o mit einer fornext-Schleife).
string prodSKU = TextSKU.Text.Trim();
List<string> skuList = prodSKU.Split(new char[] { ', ' }).ToList();
var results = from c in db.Products
where c.is_disabled == false
&& c.dom >= startDate
&& c.dom <= endDate
//&& c.sku.StartsWith(prodSKU)
select c;
Irgendwelche Ideen würde sehr geschätzt werden!
InformationsquelleAutor der Frage Andy Evans | 2011-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Etwas wie
InformationsquelleAutor der Antwort Richard Friend
EDIT: ich Stell dieses hier, obwohl diese Frage bereits beantwortet.
Erzielte ich die gleichen als die akzeptierte Lösung, sondern eine Erweiterung Methode um die Lesbarkeit zu unterstützen:
und dann die Lösung ist:
InformationsquelleAutor der Antwort Jamiec