Entity framework 实体框架代码首先不创建表
我正在使用一个现有的数据库,我已经将其中一个表映射为一个实体,因为我需要映射一个外键 所以在初始化这个数据库时,我希望EF忽略这个实体,因为它已经存在了Entity framework 实体框架代码首先不创建表,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,我正在使用一个现有的数据库,我已经将其中一个表映射为一个实体,因为我需要映射一个外键 所以在初始化这个数据库时,我希望EF忽略这个实体,因为它已经存在了 我该怎么做呢?我没有特别检查EF 6,但我认为默认的EF行为是当数据库存在时,它假定所有模型都准备好了,因此不会创建表。如果希望初始化代码首先使用代码创建表,请使用初始化代码准备数据。看这里: 我没有特别检查EF6,但我认为默认的EF行为是当数据库存在时,它假定所有模型都准备好了,因此不会创建表。如果希望初始化代码首先使用代码创建表,请使用初始
我该怎么做呢?我没有特别检查EF 6,但我认为默认的EF行为是当数据库存在时,它假定所有模型都准备好了,因此不会创建表。如果希望初始化代码首先使用代码创建表,请使用初始化代码准备数据。看这里:
我没有特别检查EF6,但我认为默认的EF行为是当数据库存在时,它假定所有模型都准备好了,因此不会创建表。如果希望初始化代码首先使用代码创建表,请使用初始化代码准备数据。看这里:
您应该使用-IgnoreChanges标志创建一个空迁移作为第一次迁移,以允许Entity Framework获取现有数据库的快照 因此,走出大门使用:
Add-Migration InitialMigration -IgnoreChanges
这将创建一个空白迁移,但它将更新实体框架元数据,从而允许现有表存在,并且迁移不会触及这些表
还需要指出的是,EntityFramework期望的命名约定和您的数据库模式可能有所不同。您可能需要使用Fluent API手动设置外键。您应该使用-IgnoreChanges标志创建一个空迁移作为第一次迁移,以允许Entity Framework获取现有数据库的快照 因此,走出大门使用:
Add-Migration InitialMigration -IgnoreChanges
这将创建一个空白迁移,但它将更新实体框架元数据,从而允许现有表存在,并且迁移不会触及这些表
还需要指出的是,EntityFramework期望的命名约定和您的数据库模式可能有所不同。您可能需要使用Fluent API手动设置外键。这是否类似于DbModelBuilder。忽略您想要的?这是不是有点像DbModelBuilder。忽略你想要的?谢谢,这对我很有帮助。谢谢,这对我很有帮助。