[英]How can i search partial part of a field using a list in LINQ?
我有一個類似名字的清單
List<string> PartialOrganism = new List<string>{ "Arabidopsis", "Elsholtzia", "Elymus", "Oryza sativa" };
還有一個完整的字段, Table.Organism一些值如:
“長枝披鹼草”“水稻(稻)”“擬南芥”
我怎么有這樣的查詢,
Var query =from c in Table where c.Organism.Contains(PartialOrganism) select c;
非常感謝。
如果我正確理解了這個問題,則需要一個如下所示的查詢:
var query = from c in Table
where PartialOrganism.Any(po => c.Organism.Contains(po))
select c;
該查詢的意思是:如果PartialOrganism包含c.Organism的子字符串中的任何字符串元素,請在表中查找所有記錄。
我認為您正在尋找所有部分生物。 您將不得不將查詢包裝成一個循環。
如下所示,matchingOrganisms是可以附加到的對象。
foreach (string organism in PartialOrganisms)
{
matchingOrganisms = (from c in Table where c.Organism.Contains(organism) select c);
}
這是為您提供的更詳盡的示例。 聲明一個列表(這也可以是自定義對象的列表,等等。)
List<object> rows = new List<object>();
然后將每個查詢的結果添加到列表中:
foreach (string organism in PartialOrganisms)
{
rows.AddRange((from c in Table where c.Organism.Contains(organism) select c).ToList());
}
這將充當或。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.