如何创建动态实体框架查询。我们从用户获取dbset名称作为参数,其他条件如列名和其他where子句条件
答案 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);