相关疑难解决方法(0)

Expression.Lambda和运行时的查询生成,嵌套属性"Where"示例

我找到了关于为Where查询构建表达式树的问题的非常好的答案.

Expression.Lambda和运行时的查询生成,最简单的"Where"示例

有人可以帮助我,并告诉我如何在具有嵌套属性的场景中实现此示例.我的意思是代替:

var result = query.Where(item => item.Name == "Soap")
Run Code Online (Sandbox Code Playgroud)

有了这个解决方案

var item = Expression.Parameter(typeof(Item), "item");

var prop = Expression.Property(item, "Name");

var soap = Expression.Constant("Soap");

var equal = Expression.Equal(prop, soap);

var lambda = Expression.Lambda<Func<Item, bool>>(equal, item);

var result = queryableData.Where(lambda);
Run Code Online (Sandbox Code Playgroud)

如何为以下构建树?

var result = query.Where(item => item.Data.Name == "Soap").
Run Code Online (Sandbox Code Playgroud)

c# lambda dynamic-language-runtime expression-trees

9
推荐指数
1
解决办法
805
查看次数

实体框架 C# 中的反射

我正在尝试使用反射通过实体框架进行动态选择。

这个想法是,该方法将获取列名称、要搜索的每列的值以及每列的顺序作为参数。

例如:

 public anEntity list(String ColumnName, String Value, String Order)
 {
    //
    //...
    items = (from r in context.Products
             where r.GetType().GetProperty(ColumnName). Contains(Value)))
             select r).OrderBy(Order).ToList();
    returns Items
 }
Run Code Online (Sandbox Code Playgroud)

是否可以?你可以帮帮我吗?

c# reflection entity entity-framework

6
推荐指数
1
解决办法
1万
查看次数