我必須一般地爲實體框架Linq查詢構建一個比較謂詞。我正在使用反射,並且能夠毫無困難地構建單個級別的Lambda表達式。然而,當我開始卡住是我有了一個關係在反射中使用泛型/動態linq謂詞比較子屬性
public class Parent {
public virtual Child child { get; set; }
.... Other Stuff...
}
public class Child {
public int property { get; set; }
public virtual Parent parent { get; set; }
.... Other Stuff.....
}
我如何可以我通過在「Child.property」到反思能夠創建一個lambda表達式比較,並拿出一個實體用lambda表達式類似於item => item.Child.property == value?
這工作。你將如何處理它的收藏? – Kenci
@Kenci在使用屬性索引? 'Wibble [5] .Value' –
我的意思是,如果OP的Child屬性是一個集合,並且你想圍繞該集合包裝一個「contains」,這樣你的lambda會像這樣:Parent.Where(x = > someList.Contains(x.property); – Kenci