- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我计划在我的下一个项目中使用 Entity Framework 4.1,但我很难找到实现它的好方法。简而言之,我想构建一个多层应用程序,其中实体将通过 Web 服务进行传输,并且为了尽可能保持干净,我想使用 POCO 而不是 self 跟踪实体。此外,已经存在一个 SQL 2008 数据库,将用于作为实体的基础。
从我目前读到的内容(从 Julie Lerman 关于 http://msdn.microsoft.com/nl-nl/magazine/hh148150%28en-us%29.aspx 的文章,等等)来看,似乎:
我意识到“DbModelBuilder 方式”需要如此多努力的原因是因为它被设计为以相反的方式使用:您应该从实体定义生成数据库,而不是尝试调整所有实体,以便它们(希望)匹配一个已经存在的数据库。然而,在我看来,“DbModelBuilder 方式”最终会产生最好的结果:纯 POCO,其中没有数据库元数据。
说了这么多,我的问题是:
有谁知道将.edmx加载到DbModelBuilder中的方法,这样就不需要通过fluent API手动指定外键、列映射等信息了?
我认为这将是两全其美的方法,因为您可以像在数据库优先方案中那样直观地编辑映射,并且仍然获得干净的 POCO,因为所有必需的元数据都存储在 DbModelBuilder 中。
最佳答案
老兄,你在说什么?
If you use the Database First approach, you get a beautiful .edmx to edit your model in, but you'll always end up with persistence-aware objects rather than POCO's, which is not useful in my situation.
事实并非如此。 EDMX 几乎可以生成代码优先可以生成的所有内容,甚至可以生成许多代码优先无法生成的内容。
If you use the Code First approach, the "ADO.NET DbContext generator" only partially helps you: it does generate entities from the .edmx, but it doesn't generate the code required to get the foreign keys and cardinality correct. This means that the code will not work out-of-the-box, ...
事实并非如此。正确设置 EDMX 后,它将准确创建您想要的实体。
Does anyone know of a way to load an .edmx into the DbModelBuilder
那条路就是 DbContext T4 生成器!
无论如何,您还可以检查另一种工具:EF Power Tools CTP1 .此工具可以从现有数据库创建代码优先映射。
当然,每个工具都会创建与数据库 1:1 映射的模型。如果您想要更多,您必须手动修改模型或映射!
关于entity-framework - 将 .edmx 加载到 DbModelBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6684197/
在我的解决方案中,我有几个项目,它们一起构成了一个网络应用程序的一部分。 我正忙于设置 Entity Framework ,并在我的上下文类中,而不是必须在 protected override vo
我的数据库中有一个表,其复合主键由 foo 和 bar 组成。如果我这样做 private static void EfMapMyTableAdded(DbModelBuilder modelBuil
我正在尝试在我们的 EF 6 项目中实现软删除。我们正在使用数据库优先方法,我注意到您不能覆盖 OnModelCreating。 使用代码优先方法时,可以为特定实体应用全局过滤器,如本 blog po
我计划在我的下一个项目中使用 Entity Framework 4.1,但我很难找到实现它的好方法。简而言之,我想构建一个多层应用程序,其中实体将通过 Web 服务进行传输,并且为了尽可能保持干净,我
我昨晚在另一台电脑上创建了一个 MVC 项目用于测试它在那台电脑上运行良好,但是当我想在我自己的电脑上构建它时,我给出了错误:找不到类型或命名空间名称“DbModelBuilder”(您是否缺少...
我有一个 DbModel像这样配置: modelBuilder.Entity() .HasKey(w => w.PersistenceKey) .Pro
我正在基于我的 poco 类上的属性动态执行流畅的映射,我的 .Property 案例工作正常,但在尝试运行 .Ignore() 方法时失败了: private void AddEntities(Db
我得到的完整错误是这样的: 无法检查模型兼容性,因为数据库不包含模型元数据。确保已将 IncludeMetadataConvention 添加到 DbModelBuilder 约定中。 我已经在 SQ
我在 WinForms 项目 .net 4.5 中使用 EntityFramework 5.0 版。 我已经为我创建了 2 个重要的实体 public class Role {
我正在使用 EntityFramework,但在某些情况下我会遇到此异常: threw an exception.", inner exception: "Method not found: 'Voi
我是一名优秀的程序员,十分优秀!