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

Schreibe einen Kommentar