排序EF4 EntityCollection <T>最简单的方法是什么?

我很想将一些排序添加到绑定到ItemsControl(在xaml中)的EntityCollection。 我也想尽可能简单地做到这一点。 看来,这是不可能的。

如果我将该集合包装在实体中的集合属性的“已排序”版本中,我会丢失收集更改通知。 我无法使用CollectionViewSource,因为实体集合的BindingListCollectionView不支持对某些该死的原因进行排序(注意:我已经看到了用“肮脏”破解的博客帖子来解决这个问题,所以请不要回答这个kthx )。

是否有一个简单的(几行xaml,几行代码,不管)的方式来实现这一目标?


EntityCollection类型不能直接过滤或排序。 这是一个常见的LINQ-to-Entities问题,请参阅:使用LINQ-to-Entities选择父项时排序子对象

一种解决方案是在需要数据时使用LINQ单独对实体集合进行排序,并产生额外的性能影响。 如果您正在处理一个您希望较小和/或较少使用的集合,那么处理时间的差异可以忽略不计。

如果您希望数据库执行排序并使用任何索引,则可以将主实体与子实体一起投影。 Alex James在他的MSDN博客中发布了一个示例:http://blogs.msdn.com/b/alexj/archive/2009/02/25/tip-1-sorting-relationships-in-entity-framework.aspx。 当然,您不仅限于匿名类型。

链接地址: http://www.djcxy.com/p/973.html

上一篇: What's the easiest way to sort an EF4 EntityCollection<T>?

下一篇: Vim open file under cursor