【问题标题】:Should a database table exist in more than one edmx file?一个数据库表应该存在于多个 edmx 文件中吗?
【发布时间】:2012-10-05 12:32:27
【问题描述】:

假设我有一个包含大约 90 个表的现有数据库。我已经看到 cmets 声明将它们全部包含在一个大的 edmx 文件中并不被认为是好的做法。假设我有诸如 HR、Legal 和 Accounting 之类的逻辑分组,可用于创建多个 edmx 文件。这就说得通了。但是,我不知道如果这些逻辑分组中的每一个都包含常用表(如员工、地址等)的外键,该怎么办。每个 edmx 文件是否也应该包含这些表,还是有更好的方法来处理这个问题?

顺便说一句,在创建 edmx 文件时,小到多小才算太小?包含 5 个实体的上下文是否太小? 2?有一般的经验法则吗?

感谢任何指导!

【问题讨论】:

    标签: entity-framework-4 edmx


    【解决方案1】:

    从运行时的角度来看,是否将模型拆分为多个 edmx 文件并不重要。 90 个实体应该没问题,但是当您的应用启动时,您可能会开始看到一些延迟。如果您遇到这种情况,您可能需要预先生成的视图来解决该问题。如果您有许多实体,则 EF 设计器会很慢。然而,VS 2012 中的 EF 设计器允许每个模型有多个图表以可视化整个模型的子部分。 如果您认为您可以轻松管理模型而无需拆分它,那么您可以尝试只使用一个模型。如果它变得无法管理,那么您可以考虑拆分。

    【讨论】:

    • 感谢您的回复,但这并不能回答问题。如果我决定使用多个模型,我如何处理所有模型都需要的表(例如员工、地址等)?对于每个模型,是否会包含这些表格?
    • 我相信您需要使用实体的完全限定名称(并且因为所有非原始类型总是完全限定的,所以它应该可以工作)。尝试只创建两个相关实体并将它们放在单独的文件中以检查这是否可行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2015-12-21
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多