如果您創建一個包含標準的LINQ一個Filter對象,通常進了其中相似的這一條款:如何在Linq where子句中指定動態字段名稱?
var myFilterObject = FilterFactory.GetBlank();
myFilterObject.AddCondition("Salary", "lessThan", "40000");
var myResult = myRepository.GetEmployees(myFilterObject);
你會如何LINQ的領域字段名稱相匹配,而無需使用大case語句?
return from e in db.Employee
where e.Salary < 40000
select new IList<EmployeeViewModel> { Name= e.name, Salary= e.Salary };
我假設你需要發送一個對象到指定過濾的存儲庫,以便你只需要取出你需要的記錄。我假設Linq沒有預編譯(除非你創建一個自定義的委託和函數),所以你應該能夠動態地指定你想要過濾的字段。
如果您可以像e某某類型的Expando對象一樣執行某些操作(如「薪水」),那將會很好。
現在是一個奇妙的答案。 – 2010-03-23 03:07:09
好吧,現在如果你有一個Enumeration作爲值,現在如何使用它?像在http://stackoverflow.com/q/7075816/185593 – serhio 2011-08-16 10:14:12