2010-05-06 66 views
1

当我们使用Entity Framework 4作为ORM层时,试图围绕建模数据库时的最佳方法进行讨论。我们将为应用程序使用asp.net mvc 2。如何使用实体框架4建模我的数据库?

是否值得使用Visual Studio 2010附带的类图建模器进行建模?在此模型中,您将模型图形化配置到EDMX文件中,然后生成数据库结构?

我遇到了一堆不平凡的问题,对于复杂的多对多映射或多主键实体,即使用一些工具捅了一段时间后,答案也不是那么明显。

在这一点上,我认为它很容易放弃并开始使用真实的,有效的数据库建模工具建模数据库,然后尝试从数据库中生成EDMX,而不是尝试执行模型优先方法。

+0

你能举几个例子,说明在EF4中没有什么适合你的吗?如果你首先进行模型优化,一般情况下,你会得到一个更好的对象模型,并且数据库将最好地与它对齐,而不是它自己的数据存储。这具有优点和缺点。但是,如果数据库仅由您的应用程序使用,则无需手动映射类通常会带来更大的好处。 – 2010-05-06 06:13:02

+0

数据库是全新的,仅供此应用程序使用。例如,一个3个实体之间的链接表,结束时主键是来自3个实体中的每一个的PK的组合。 – Andreas 2010-05-06 06:31:49

回答

1

这确实是一个偏好问题。如果你对SQL服务器很适应,那可能是最好的开始。但是如果你更多的是C#程序员,那么从EDMX设计师开始,制作模型然后让它弄清楚数据库应该是什么样子会更容易。

当然,如果你确实先去模型,你仍然需要进入SSMS并添加索引,并且可能会根据自己的喜好重新命名一些FK和表格。然后,您可以使用“从模型更新”将模型恢复到最新状态。

建模继承也是设计师需要做的事情,但是您也可以在SSMS或EDMX设计器中进行建模。对于继承我首先更喜欢SQL,因为对于每个层次结构,每个类或每个具体类型,您希望采用何种形式的继承是明确的决定。

相关问题