实体框架代码首先围绕现有的数据库
本文关键字:数据库 框架 代码 实体 | 更新日期: 2023-09-27 18:06:27
我必须使用实体框架在新的或现有的数据库中创建一些新的实体,这些实体需要与一些遗留表进行交互,我想知道这里的最佳方法是什么。我希望在迁移中使用代码优先。
例如,假设我有一个已填充的Person
表,我需要创建一个包含PersonId
外键以引用现有人员的Animal
表。
就我所知,这些是我的选择:
- 使用代码优先迁移和POCO实体类,用
用
DBSet<Animal>
创建一个新的DBContext
(针对现有的DB),并在现有表周围创建某种POCO包装器。我不确定这是否可能-我尝试了类似的东西,但当应用迁移EF试图创建Person
表时。我假设这将映射到现有的表,而不是创建一个新表:[Table("Person")] public class Person {
使用数据库首先与现有的DB和创建表在现有的DB,但然后我失去了使用POCO和迁移与我的新实体。
DBSet<Animal>
创建一个新的DBContext
(对于一个新的DB)。在设置指向另一个DB的外键时遇到问题。是否有更好的选择,我错过了或我应该继续使用数据库第一?
您可以使用EntityFramework反向POCO代码第一生成器。
EntityFramework Reverse POCO Generator对现有数据库进行逆向工程并生成实体框架代码优先Poco类,配置映射和DbContext。这个发电机被设计为可定制的从非常开始,而不是像其他发电机那样固定和僵化。去玩吧对于。tt文件中的Settings,就是这样。