如何创建动态实体框架查询

时间:2016-12-29 12:18:35

标签: entity-framework-6

如何创建动态实体框架查询。我们从用户获取dbset名称作为参数,其他条件如列名和其他where子句条件

1 个答案:

答案 0 :(得分:0)

免责声明:我是Eval-Expression.NET

的所有者

该库允许您在运行时评估,编译和执行代码。几乎所有的C#语言都受到支持。

您可以在此处找到LINQ Dynamic的一些示例:http://eval-expression.net/linq-dynamic

但您可以更多地指定dbset和condition

实施例

string set = "Entity1";
string whereClause = "x.ID > 2";

// CREATE the expression
string expression = "ctx." + set + ".Where(x => " + whereClause + ").ToList();";

// USING a context variable
var ctx = new EntityContext();
var list1 = Eval.Execute(expression, new {ctx});

// USING a context in the expression
EvalManager.DefaultContext.RegisterType(typeof(EntityContext));
var list2 = Eval.Execute("var ctx = new EntityContext();" + expression);