2

我们希望从使用 Entity Framework ObjectSet 转向更轻量级的 dbSet。

我们遇到的问题是无法绑定到实体的一对多集合,例如,对于典型的 Order 对象,您将拥有具有各种属性的 Order 实体以及与订单项的一对多链接。

使用 EF4/5 ObjectSets,订单项的集合表示为 EntityCollection,如果我将 DevExpress XtraGrid(通过 BindingSource)绑定到订单实体的此属性,我将获得与网格的完整设计和运行时绑定。

对于 EF5 dbSet 对象,集合表示为对象的 ICollection,当尝试绑定到此对象时,我们仅获得 Count 和 IsReadOnly 属性,没有列(无数据绑定)。

完成这项工作的最佳方法是什么?我们是否需要以某种方式编辑 EF5 DbContext/DbSet 类的代码生成模板?我们可以绑定到 ICollection 吗?

由于这是现在 EF 代码生成的默认行为,这一定是一个已知问题?

抱歉,忘了说我们没有先使用代码。VS2012、EF5、C#、WinForms、DevExpress 12.9

这让我们很困惑,多年来我们一直在轻松地与 EF 对象和 XtraGrid 控件进行数据绑定,这没有任何意义。

感激地收到任何帮助。

马克哈比诺丁汉。英国​</p>

4

1 回答 1

0

尝试调用ToBindingList()扩展方法,如本知识库文章中所示:

https://www.devexpress.com/Support/Center/Question/Details/KA18898

于 2015-08-25T10:45:33.683 回答