我正在使用net 4.5,C#和實體框架。我希望能夠在運行時爲linq查詢調用一個字段。實體框架 - 使用Linq調用字段名稱
using var(context = new SomeDataEntities())
{
var abc = from b in context.someTable
where b.SomeField == 1
select b.AnotherField;
}
但是我想調用基於輸入字符串參數的b.SomeField。 我當前的代碼是
using var(context = new SomeDataEntities())
{
var abc = from b in context.someTable
where b.GetType().GetProperty("SomeField").GetValue(b, null).ToString() == "test"
select b.AnotherField;
}
注 - 這只是一個基本的例子,我將執行一個更復雜的查詢。 – dfresh22
你不能,那不能被翻譯成Transact sql查詢。你唯一的選擇是將整個內容檢索到內存中,然後用反射執行where子句。您還可以使用支持使用字符串進行屬性的動態sql生成的庫。請參閱[動態LINQ](https://www.nuget.org/packages/System.Linq.Dynamic/) – Igor
好的調用,我將探索使用表達式 – dfresh22