如何在動態linq表達式字符串中定義一個數組,我可以傳入.Where(string)
? 我已經試過{ "val a", "val b", "val c" }
,但這不起作用。在動態linq表達式中定義數組
這裏是什麼,我想實現一個例子:
public class Person
{
String Name { get; set; }
int Age { get; set; }
}
現在我想用一個完全動態創建動態的LINQ表達式字符串來查詢IQueryable<Person>
,其中例如根據預定義值列表查詢Name
。下面的作品,但很麻煩的時候也有很多價值:
myQueryablePersons.Where("Name == \"John Doe\" || Name == \"Mr Smith\" || Name == \"CatWoman\");
我希望做的是這樣的:
myQueryablePersons.Where("{ \"John Doe\", \"Mr Smith\", \"CatWoman\" }.Contains(Name)");
我知道如何可以使用普通的C#實現或簡單的Linq,但我想通過僅使用傳入Where()
的字符串來完成。這可能嗎?我已經在Stackoverflow和其他網站上搜索了其他答案,但找不到真正適合我的具體問題的答案。
請澄清你的具體問題或添加額外的細節,以確切地突出你需要什麼。正如目前所寫,很難確切地說出你在問什麼。請參閱如何問問頁面以獲取幫助以澄清此問題。 –
分享你的代碼,指定你的問題。給出例如「這是輸入,這是輸出,但這是預期的輸出」。 – Berkay
然後告訴我們*你正在使用哪個動態linq(有兩個或三個不同的實現) – xanatos