首页 > 解决方案 > Linq 不支持 NotMapped 属性?

问题描述

我在类中添加了 RunCount 属性并在函数中调用如下。

 public class ItemsDataObject
 {
        [Key]
        [Column("ID")]
        public string Id{ get; set; }
        .
        .
        .
        [NotMapped]
        public int RunCount { get; set; }
 }

public static List<ItemsDataObject> GetAllItemsWithPaging(int startingPageIndex, int pageSize, string orderColumn, string orderDir)
    {
         using (var ctx = new OracleDbContext())
         {
              List<ItemsDataObject> list = new List<ItemsDataObject>();
    
              var v = (from a in ctx.Items select a);
              v = v.OrderBy(orderColumn + " " + orderDir);
              list = v.Skip(startingPageIndex).Take(pageSize).ToList();
    
              return list;
         }
    }

列表中有大量数据,所以我需要首先对项目进行排序并获得 10 行(页面大小),然后是 .ToList()。

但我收到 System.NotSupportedException 错误。我该如何解决这个问题?

LINQ to Entities 不支持指定的类型成员“RunCount”。仅支持初始化程序、实体成员和实体导航属性。

标签: c#asp.netentity-framework

解决方案


您可以使用

 var v = from a in ctx.Items
    orderby a.orderColumn ,a.orderDir;
  list = v.Skip(startingPageIndex).Take(pageSize).ToList();

推荐阅读