如何对<TEntity>未知动态泛型列表进行排序? - c#

更新:

我准备了一个通用函数来捕获数据库行以生成列表。我的方法就是这样。

    public class GenericDataAccess<TEntity> : IGenericRepository<TEntity> where TEntity : class
    {
        internal ELearningDBContext ELearningDBContext;
        internal DbSet<TEntity> ELearningDBSet;

        public GenericDataAccess(ELearningDBContext context)
        {
            this.ELearningDBContext = context;
            this.ELearningDBSet = context.Set<TEntity>();
        }
        public virtual PagingModel<TEntity> GetAllPaged(int pagesize, NameValueCollection queryString)
        {
            return ELearningDBSet.AsQueryable().ToList();
        }
     }

在这里,我面临着对该列表进行排序的问题。因为TEntity会不时更改。但是,在每个名为EntityId中都有一个公共字段。因此,我想按Id的顺序按descending对每个模型进行排序。

我已经尝试过这种方式。但是它并不有效,而且正在生成异常。

ELearningDBSet.AsQueryable()..OrderByDescending(i=>typeof(TEntity).GetProperty("Id")).ToList();

我已经经历了以下问题:Q1,Q2,Q3,Q4。但是,这些无效。我更喜欢C#代码。任何一种完美的解决方案都受到高度赞赏。谢谢。

参考方案

哇!!我刚刚得到了一个很好的解决方案。我刚用过。

 ELearningDBSet.AsQueryable().SortBy("Id" + " Desc").ToList();

在这里,我使用的SortBy()函数是从名为System.Web.UI.WebControls.QueryExtensions的.Net库获得的。有关更多详细信息,请参见here。的确,这对我来说是一个绝妙而出色的解决方案。

将谓词<T>转换为Func <T,bool> - c#

我有一个包含成员Predicate的类,希望在Linq表达式中使用该类:using System.Linq; class MyClass { public bool DoAllHaveSomeProperty() { return m_instrumentList.All(m_filterExpression); } private IEnumerable&…

休眠映射<键,设置<值>> - java

我有以下表格:@Entity @Table(name = "events") Event --id --name @Entity @Table(name = "state") State --id --name @Entity @Table(name = "action") Action --id …

如何使用BeautifulSoup在<tr>中捕获特定的<td> - python

尝试从nyc Wiki页面中的高中列表中获取所有高中名称。我已经写了足够多的脚本,可以让我获取包含在高中,学业和入学条件列表的表的<tr>标记中的所有信息-但是我如何才能缩小到我认为的范围内在td[0]内休息(会弹出KeyError)-只是学校的名称?到目前为止我写的代码:from bs4 import BeautifulSoup from ur…

使用Google地图获取到最近的地标(购物中心,医院和机场等)的距离 - java

Improve this question 我正在做一个项目,在印度的主要城市中,我有大约100000个地址(这是数据库中的表格)。我想知道是否可以获取到最近的地标(购物中心,医院和机场等)的距离。理想情况下,我希望将这些距离合并到父表中。一旦找到解决方法,我们就会有Java和Php编码器来完成它。任何指针都会有很大帮助。谢谢。 参考方案 (我可能会在这里说…

合并List <T>和List <Optional <T >> - java

鉴于: List<Integer> integers = new ArrayList<>(Arrays.asList( 10, 12 )); List<Optional<Integer>> optionalIntegers = Arrays.asList( Optional.of(5), Optional.em…