Entity framework 4 当我在运行时只知道属性名时,如何在LINQtoEntities(EF4.1)中使用OrderBy?

Entity framework 4 当我在运行时只知道属性名时,如何在LINQtoEntities(EF4.1)中使用OrderBy?,entity-framework-4,linq-to-entities,Entity Framework 4,Linq To Entities,我有一个已知类型对象的linq查询,需要根据对象的属性对其进行排序。问题是,我只知道运行时的属性名和字符串 前 IQueryable thing=从ctx中的t开始。Things选择t; t、 OrderBy(t=>t.Name);//如果我在编译时知道属性,这将起作用。。。 t、 订购人(“名称asc”);//但这才是我真正需要的!但它不起作用。 对于LINQtoEntities,有没有一种方法可以做到这一点?我使用的是实体框架4.1,有两个 .OrderBy(m=>m.Name) .Ord

我有一个已知类型对象的linq查询,需要根据对象的属性对其进行排序。问题是,我只知道运行时的属性名和字符串

IQueryable thing=从ctx中的t开始。Things选择t;
t、 OrderBy(t=>t.Name);//如果我在编译时知道属性,这将起作用。。。
t、 订购人(“名称asc”);//但这才是我真正需要的!但它不起作用。
对于LINQtoEntities,有没有一种方法可以做到这一点?我使用的是实体框架4.1,有两个

  • .OrderBy(m=>m.Name)
  • .OrderByDescending(m=>m.Name)
  • 第一个代表上升,另一个代表下降

    希望能有帮助

    试试这个怎么样!让我们看看是否有帮助

        Expression orderByProperty = Expression.Property(prm, sortBy);
    
        // get the paged records
        IQueryable<PostingListItemDto> query = be.buskerPosting
        .Where(posting => posting.buskerAccount.cmsMember.nodeId == m.Id)
        .OrderBy(orderByExpression)
    
    Expression orderByProperty=Expression.Property(prm,sortBy);
    //获取分页记录
    IQueryable query=be.buskerPosting
    .Where(posting=>posting.buskercount.cmsMember.nodeId==m.Id)
    .OrderBy(orderByExpression)
    
    请看这个问题,谢谢,这应该可以解决问题。我在编译时不知道属性名称,所以这对我不起作用。
        Expression orderByProperty = Expression.Property(prm, sortBy);
    
        // get the paged records
        IQueryable<PostingListItemDto> query = be.buskerPosting
        .Where(posting => posting.buskerAccount.cmsMember.nodeId == m.Id)
        .OrderBy(orderByExpression)