【发布时间】:2017-02-13 15:29:09
【问题描述】:
我正在编写一个实体框架查询,它映射到一个复杂的对象对象。我正在使用 jquery 数据表,它将查询排序作为典型的字符串动态传递,例如“item_id”或“item_id DESC”。当传递到 SoryBy 子句时,它将数据库结果排序为项目 id 列。如果这是基本对象,这很好,但如果我有一个包含该对象的包装器对象,它会说项目 id 没有为类型 ItemInfo 定义。
类的模型如下。
public class Item {
public int item_id { get; set; }
public int category_id { get; set; }
}
public class ItemCategory {
public String category { get; set; }
public int category_id { get; set; }
}
public class ItemInfo {
public Item item { get; set; }
public ItemCategory category { get; set; }
}
.SortBy 子句的字符串需要是什么才能从 ItemInfo 查询中的 Item 中获取 item_id?
IQueryable<ItemInfo> query = (from i in Item
join c in ItemCategory on i.category_id equals c.category_id
select new ItemInfo() {
item = i,
category = c
};
【问题讨论】:
-
选择
ItemId=i.item_id然后将其传递给像order by i.item_id这样的子句顺序 -
@BradleyUffner 看起来该代码在实体框架 SQL Server 上不起作用。看起来这是一个纯 c# 解决方案。
标签: c# asp.net-mvc entity-framework linq sorting