有没有一种方法可以在香草C#中使用变量值动态地访问LINQ属性?我相信有一些库可以在这方面提供帮助(如System.Linq.Dynamic),但如果可能的话,我想避免依赖。在伪,一些功能是这样的:如何通过变量的值访问LINQ(没有反映LINQ到实体的使用)
var temp = "PropertyName";
context.Table.Where(a => a.GetProperty(temp) > 5);
我最初使用反射,它完美地工作,当我与普通LINQ测试它试图像this的解决方案。然而,它不适用于LINQ-to-Entity对象,因为EF无法将其编译为SQL。我也研究了表达式树,但这似乎并不仅仅只是属性访问能力(以及我的一些“Where”条件将被动态生成)的方式。
如果有人有任何想法/这方面的例子,我会很感激!
你应该使用'Expression'类则 – Rahul
System.Linq.Dynamic可能会是你最好的选择,除此之外,自定义的SQL。请参阅:https://msdn.microsoft.com/en-us/library/jj592907(v=vs.113).aspx –
System.Linq.Dynamic是我所做的事情与 – mju516