代码优先与模型/数据库优先[关闭]
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 使用实体框架4.1代码优先于模型/数据库优先使用EDMX图表有什么优缺点? 我正在尝试完全理解使用EF 4.1构建数据访问层的所有方法。 我正在使用Repository模式和 IoC 。 我知道我可以使用代码优先方法:手动定义我的实体和上下文,并使用 ModelBuilder 来微调模式。 我还可以创建 EDMX 图并选择使用T4模板生成相同 POCO 类的代码生成步骤。 在这两种情况下,我最终都得到了与 ORM 无关的 POCO 对象和源自 DbContext 上下文。 数据库优先似乎最吸引人,因为我可以在企业管理器中设计数据库,快速同步模型并使用设计器对其进行微调。 那么这两种方法有什么区别? 是仅仅关于VS2010与企业管理器的偏好? #1楼 代码优先似乎是后起之秀。 我快速浏览了Ruby on Rails,它们的标准是代码优先,具有数据库迁移。 如果您正在构建MVC3应用程序,我相信Code首先具有以下优势: 简单的属性修饰 - 您可以使用验证,要求等属性来装饰字段,这对于EF建模来说非常尴尬 没有奇怪的建模错误 - EF建模通常会出现奇怪的错误,例如当您尝试重命名关联属性时,它需要匹配底层的元数据 - 非常不灵活。 合并并不尴尬 - 当使用像mercurial这样的代码版本控制工具时,合并