Access property in lambda expression from string when using LINQ

后端 未结 4 1038
渐次进展
渐次进展 2021-01-03 04:40

How can I do something like this:

var result = db.MyTable.Where(x => x.\"MyProperty\" == \"Test\" );

As you can see I want to access \"MyProperty\" but

4条回答
  •  孤独总比滥情好
    2021-01-03 05:05

    I think you can try this:

    public static IQueryable SortByPropertyName(this IQueryable queryable, string orderFieldName) where T : Entity
    {
        var param = Expression.Parameter(typeof(T), typeof(T).Name);
        var orderExpression = Expression.Lambda>(Expression.Property(param, orderFieldName), param);
        return queryable.OrderBy(orderExpression);
    }
    

    It works fine for order.

提交回复
热议问题