我如何可以編寫和使用lambda如果參數要求從表中同一領域2個不同類型的值,EQ如何在lambda表達式中添加內聯條件聯合/自聯接?
Etype
-------
class A
class B
class C
我基於從形式向用戶選擇追加查詢行工會/連接語句
public ActionResult Home(string title, string EtypeA)
{
EtypeA = (Convert.ToBoolean(EtypeA)) ? "typeA" : null;
var results = db.EList.Where(p => (title ==null || p.Title.Contains(title)) &&
(EtypeA ==null || p.EtypeA.Contains(EtypeA)))
...
}
事情(如MVC 4 QS /參數推出)都不錯,到目前爲止,但形式有複選框ETYPE過濾,所以如果用戶想看到ETYPE A和ETYPE B得,他會選擇這兩個複選框和參數將作爲
public ActionResult Home(string title, string EtypeA, string EtypeB)
現在我該如何編寫內聯查詢來加入這兩種類型的E(員工)。 由於EtypeA和EtypeB指etype字段的值,我試圖找到他們喜歡的:
public ActionResult Home(string title, string EtypeA, string EtypeB)
{
EtypeA = (Convert.ToBoolean(EtypeA)) ? "typeA" : null;
EtypeB = (Convert.ToBoolean(EtypeB)) ? "typeB" : null;
var results = db.PartnersList.Where(p => (title ==null || p.Title.Trim().ToLower().Contains(title.ToLower())) &&
((EtypeA == null || p.EType.Contains(EtypeA) || (EtypeB == null || p.EType.Contains(EtypeB))
預先感謝您的時間。
目前還不清楚你的'EList'項目是怎樣的。他們是否有單獨的屬性('EtypeA ==「typeA」','EtypeB ==「typeB」',...),你LINQ示例暗示,還是你有一個單獨的屬性可以保存不同的值? – Groo 2014-09-12 10:46:20
@Groo:有一個字段Etype,它有3種類型的值(typeA,typeB和typeC),並且想要&&如果查詢來過濾Etype爲A和B的所有記錄。 – Vishal 2014-09-12 10:49:47