如何通过自定义订单订购实体列表?

亚历克斯

我有一个可以这样表示的实体列表:

Type | Property A | Property B | ... 
--------------------------------------
A    | ABC        | 123        | ...
A    | ABC        | 123        | ...
D    | ABC        | 123        | ...
D    | ABC        | 123        | ...
B    | ABC        | 123        | ...
C    | ABC        | 123        | ...

Type是一个字符串,只能是4个不同的值之一(例如A,B,C,D)。我需要按Type(但具有自定义顺序)(例如A,D,B,C)对这些实体进行排序。

我尝试过这样的事情:

var orderType = new Dictionary<string, int>() {
                    { "A", 0 },
                    { "D", 1 },
                    { "B", 2 },
                    { "C", 3 }
                };
return db.MyEntity
         .OrderBy(x => orderType[x.Type])
         .ToList();

但是我收到以下错误:

LINQ to Entities无法识别方法'Int32 get_Item(System.String)'方法,并且该方法无法转换为商店表达式。

我不了解此错误,也不知道如何处理此OrderBy。您能否告诉我如何使用自定义订单类型订购这些实体

完美的28

我不明白这个错误

这是因为LINQ TO SQL无法将Int32 get_Item(System.String)Dictionary转换为SQL中的等效操作。


解决此问题的一种非常简单的方法是通过以下方式将实体带入内存AsEnumerable()

return db.MyEntity.AsEnumerable().
         .OrderBy(x => orderType[x.Type])
         .ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Linq中通过单个链接的实体列表进行自定义订单

如何自定义列表中的订单/排序对象

如何自定义菜单意向订单

如何在Woocommerce中通过自定义分类法订购产品?

如何通过自定义属性(而非数据库值)订购Firebase ListView(FirebaseUI)

如何使用linq查询在自定义Item类中订购列表

如何基于列表订购C#自定义对象集合

angularjs-通过自定义比较器进行订购

具有自定义属性的订购数组列表

如何通过套接字发送自定义对象列表?

如何通过自定义列表在房间中创建TypeConverter?

如何通过 API ID 将 API 调用重新排序为自定义订单?

如何为Laravel工厂使用自定义值列表,维持订单并仍使用Faker门面?

通过自定义领域订购Wordpress自定义帖子

保存订购产品变体到订单的自定义元数据

字符串的自定义订单列表

WooCommerce的自定义订单列表页面

如何排序自定义实体的集合?

如何在ORDER BY子句中定义自定义订单?

如何使自定义数据类型可订购?

如何以自定义方式订购冲积层

自定义操作按钮进入WooCommerce管理订单列表上的自定义列

如何通过 API 在 CRM Dynamics 中创建自定义实体本身

如何使用自定义订单属性对枚举排序?

在Shopify创建订单时如何添加自定义文本

如何添加woocommerce自定义订单状态?

如何在(WordPress)中自定义订单

在 WooCommerce 订单列表中显示 Dokan 自定义订单元数据

在Woocommerce管理订单列表中显示具有“全部”自定义状态的订单