问题标签 [edmx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3120 浏览

c# - Entity Framework 4.1 设计器能否仅针对选定实体“从数据库更新模型”?

情况:有时数据库模式不是您认为的系统信息的理想表示,您可能无法更改它。我们一直在使用实体框架来创建一个更好的概念模型,以便在这种情况下进行编码。这意味着从数据库更新模型,然后通过设计器或直接使用文本编辑器通过 .edmx 文件自行更改。

问题:当您从数据库中更新模型时,所有您精心制作的更改都会被抛到窗外。这会使添加新实体变得非常麻烦,因为您基本上被迫通过直接编辑 .edmx 文件来完成。

问题:有没有办法让实体框架只更新来自数据库的选定实体?或者在添加新实体时是否可以告诉它不要理会模型的其余部分?

谢谢!

0 投票
0 回答
281 浏览

entity-framework - 从多个链接的 EDMX 生成 EF 4.1 Poco

我想 :

  • 定义一个用于将 pocos 生成到一个第一个程序集(基础库)中的第一个 EDMX
  • 定义另一个 EDMX 以将 pocos 生成到第二个程序集中
  • 让定义到第二个 EDMX 中的实体提及第一个 EDMX 的一些实体——通过继承或关联

是否有可能将 EDMX 重用/导入到第二个?
是否可以跨程序集执行此操作?

我的最终目标是

  • 通过降低可重用性,拥有连续的 pocos 层(和相关的存储库......)。
  • 比较两组 EDMX,每组代表给定数据库的一个版本,以便
  • 计算模式的增量(xml差异......)和
  • (semi) 自动生成迁移数据库内容的代码。

任何提示都非常感谢。谢谢。

蒂埃里

0 投票
2 回答
1637 浏览

entity-framework - Design Decision: Multiple EF EDMX Files

If you have used the Entity Framework then you know the EDMX is cool. You also know it can become HUGE and almost unmanageable.

When it gets large, it is tempting to create a second EDMX or third - even one for each Schema in your database (just as an example).

Such a seperation would help with organization of your EDMX, but it could seperate the context of entities in the same namespace.

Moreover, seperate EDMX files can create a situation where a JOIN operation across EDMX files results in excessive, redundant database communication.

But, the fact remains, the larger the EDMX, the more difficult it is to use. The more difficult it is to ensure it is correct. The easier it is to break.

Do you break your EDMX files apart? Do you have a rule of thumb for when to it?

0 投票
1 回答
135 浏览

entity-framework - EDMX 循环导航

我们已经确定,如果您有两个相关的实体,然后在它们之间保留默认导航属性(一个指向另一个并返回),则无法保存实体数据。只能保留一个导航属性。

例如:

有谁知道检测这些循环导航属性的简单方法?我知道一种方法是手动查找它们 - 我们正在这样做,但我们的 EDMX 中有数百个实体,并且“手动”方法被证明不是一个可行的选择。

谢谢。

0 投票
3 回答
2705 浏览

entity-framework - 将 .edmx 加载到 DbModelBuilder

我计划在我的下一个项目中使用 Entity Framework 4.1,但我很难找到一个好的方法来解决它。简而言之,我想构建一个多层应用程序,其中实体将通过 Web 服务进行传输,并尽可能保持干净,我想使用 POCO 而不是自我跟踪实体。此外,已经存在一个 SQL 2008 数据库,用于作为实体的基础。

从我到目前为止所读到的内容(来自 Julie Lerman 在http://msdn.microsoft.com/nl-nl/magazine/hh148150%28en-us%29.aspx等上的文章),似乎:

  • 如果您使用 Database First 方法,您将获得一个漂亮的 .edmx 来编辑您的模型,但您最终会得到持久性感知对象而不是 POCO,这在我的情况下没有用。
  • 如果您使用 Code First 方法,“ADO.NET DbContext 生成器”只能部分帮助您:它确实从 .edmx 生成实体,但它不会生成正确获取外键和基数所需的代码。这意味着代码不能开箱即用(-编辑,不是真的,请参阅下面的帖子-),您要么必须
    • a)在您的 POCO 上使用数据注释,这在 imo 上很丑陋,因为它用数据库信息污染了 POCO,并且还创建了对 EntityFramework 程序集的依赖。
    • b) 使用传递给DbContext.OnModelCreating 的DbModelBuilder 来设置正确的外键、映射等信息(即'fluent' API)。即使 API 可能是“流利的”,仍然很难(并且可能无法维护)正确设置所有这些信息以使其与现有数据库匹配(请参阅http://sessionfactory.blogspot.com/2011/04/conventions -in-entity-framework-41.html的一些例子)。

我意识到“DbModelBuilder 方式”需要这么多努力的原因是因为它被设计为反过来使用:您应该从实体定义生成数据库,而不是尝试调整所有实体以便他们(希望)匹配一个已经存在的数据库。但是,在我看来,“DbModelBuilder 方式”最终会产生最好的结果:纯 POCO,其中没有数据库元数据。

现在,说了这么多,我的问题是:
有谁知道将 .edmx 加载到 DbModelBuilder 中的方法,这样就不需要通过 fluent API 手动指定外键、列映射和其他信息?

我认为这将是两全其美的方式,因为您可以像在 Database First 场景中那样直观地编辑映射,并且仍然可以获得干净的 POCO,因为所有必需的元数据都存储在 DbModelBuilder 中。

0 投票
1 回答
211 浏览

c# - 从 edmx 复制和粘贴属性名称

假设我刚刚更新了我的模型并添加了一个包含 30 列的表。
现在我需要用这 30 个属性创建一个业务类。
我不想使用任何创建此类的工具,但我只想能够从 edmx 文件中复制属性的名称。

有什么好的方法吗?复制和粘贴每个属性是非常困难的工作。

0 投票
1 回答
267 浏览

entity-framework - 实体框架模型编辑器关联行显示不正确

我经常以我的 .edmx 模型编辑器中的关联行“搞砸”而告终。

通常,我的关系结束直接在实体上,但有时当我重新打开我的 .edmx 文件时,它们中的大多数都偏离了几个像素(比如 25)。

这不是一个真正的问题,但我想知道是否有人有解决这个问题的技巧。

谢谢!

0 投票
10 回答
29776 浏览

c# - 实体框架 - 已定义

我以前从未遇到过的 EDMX 文件有问题。当站点正在运行或我正在调试时,似乎是随机的,EF 会爆炸并抱怨一切都被重新定义了。我每次都必须重新启动应用程序池并重新附加调试器,然后从我离开的地方重新开始,之后它会再次工作,直到下一次它爆炸。

我已经用不同的名称重新创建了 EDMX,因此 MyAppEntities* 1 *

错误是:

0 投票
0 回答
291 浏览

entity-framework - 实体框架不会为新的空 edmx 复数

我有一个问题,新创建的 edmx 不会复数添加的实体集,而是将“Set”附加到实体名称:

  • 实体名称:人
  • 实体集名称:PersonSet

我认为默认情况下它应该是复数形式,并且我不会在 Visual 中更改任何内容。

编辑:对于从现有数据库创建的 edmx,有一个选项可以选择是否应该复数,在 edmx 的设计器部分也是该选项,但我不想更改它并在每次更新后丢失更改:

0 投票
0 回答
66 浏览

entity-framework-4 - 从实体模型生成的对象不会创建可为空的外键

当涉及到我的数据库中的可空外键时,我注意到一些奇怪的行为。我刚刚开始使用实体框架,所以我可能做错了什么,但我无法弄清楚这一点。

假设我有以下两个表:(CountryID 是可为空的外键) 数据库图

当我创建一个新的实体模型时,我最终得到了这个: 图表

但是 CountryID 属性设置为 Nullable (None) - 而不是 True。显然这是一个非常微不足道的例子,但是对于大型数据库,手动切换所有这些将很困难。有没有办法让实体框架int?为这些外键使用可为空的?