2011-09-07 108 views
1

Database Diagram实体框架多对多的疯狂

好的,不要为我的下面的数据库结构射击。我继承了这个,我没有创建它。我想要做的是简化我的生活。我目前正在使用EF 4.1 Code First,并且我知道如何通过带有流畅api的表执行多对多映射,但我完全失去了如何处理这种结构。 Bascially我希望能够通过使用单个导航属性从IDB_interface表映射到IDB_AddressIPv4表?但是,我猜这是不可能的?任何建设性的想法或建议将不胜感激。从头开始不是选项或更改数据库结构。

在此先感谢。

+0

不符合设计,我不这么认为。 –

+0

只需在黑暗中拍摄一张照片,但是您能否为数据库添加一层视图,从而为EF提供更加健全的关系模型? –

+0

因为我面临类似的情况,我不相信EF有可能。一种解决方案是通过遍历映射表来创建带有方法的扩展类,以便为指定的“IDB_Interface”检索“IDB_AddressIPv4”。这至少可以简化您的通话,不会重复使用代码。 – shuniar

回答

2

你必须住在你有的结构中。 EF代码首先没有工具来帮助你。它只能简化与单结点表的多对多关系而无需附加数据 - 这不是你的情况。

这是一个在EF上添加附加层的真正方便的例子,它可以将您的模型简化为所需的实体,并且您的持久性逻辑将其转换为此恐怖。

+0

那么我可以在这种情况下使用EF吗?我无法让地图在没有任何简化的情况下工作。我可以将一个layer3地址的集合映射到一个接口,但对于layer3对象的一个​​实例,InterfaceIPv4表没有映射? –