我必须使用Entity Framework在新数据库或现有数据库中创建一些新实体,这些实体需要与一些遗留表进行交互,我想知道最好的方法是什么。我希望将Code First用于迁移。
例如,假设我有一个现有的已填充Person
表,我需要创建一个Animal
表,其中包含一个PersonId
外键来引用现有人员。
据我所知,这些是我的选择:
DBContext
创建新的DBSet<Animal>
(对于新数据库)。设置指向另一个DB的外键时出现问题。 使用DBContext
创建一个新的DBSet<Animal>
(以现有数据库为目标),并在现有表周围创建某种POCO包装器。我不确定这是否可行 - 我尝试了类似但是在应用迁移时,EF试图创建Person
表。我假设这将映射到现有表而不是创建一个新表:
[Table("Person")]
public class Person {
首先将数据库与现有数据库一起使用,并在现有数据库中创建表格,但后来我失去了使用POCO和迁移我的新成员。
我有没有更好的选择,或者我应该先使用数据库?
答案 0 :(得分:2)
您可以使用EntityFramework Reverse POCO Code First Generator。
反向设计现有数据库并生成实体框架 Code First Poco类,配置映射和DbContext。 这台发电机的设计可以从中进行定制 开始,而不像其他发电机那样固定和刚性。去玩 使用.tt文件中的设置,它是什么 对