2013-03-19 170 views
1

当从Entity framework 3.5检索到数据并且查询的表具有外键时,将数据绑定到网格视图时遇到问题。实体框架和DataGridView绑定

通常,当我使用LINQTOSQL将表绑定到datagridview并且该表具有外键时,请转至编辑网格视图的列并将列类型设置为组合框,然后为其提供单独的数据源并设置DisplayMember与外键字段的值相同。这用于显示外键所指的表的值。

当我开始使用EF时,我注意到当在包含外键的EDM中包含一个表并且您还包含外键指向EDM的表时,Visual Studio会自动从外键中删除外键实体并创建两个实体之间的关系。

这对我来说是一个问题,因为我无法弄清楚如何显示datagridview中的外键值,而无需通过每条记录并“手动”设置combox选定值的值......

任何人都有如何做到这一点的想法;我试图在互联网上搜索几个小时,但没有运气......任何帮助非常感谢。

谢谢,

+0

在.NET Framewokr 3.5中发布的EF1不支持外键。 EF4(.NET Framework 4)中增加了对外键的支持, – Pawel 2013-03-19 17:50:38

回答

1

我设法找到一种方法如何做到这一点。

我首先删除了EDM中表(实体)之间创建的所有关联。

在此之后,我在与外键同名的Entities中创建标量属性,然后从EDM中的映射详细信息将外键字段映射到新创建的标量属性。

这对我有效,希望这可以帮助别人。

谢谢