Entity framework 实体框架代码首先不创建表

Entity framework 实体框架代码首先不创建表,entity-framework,entity-framework-6,Entity Framework,Entity Framework 6,我正在使用一个现有的数据库,我已经将其中一个表映射为一个实体,因为我需要映射一个外键 所以在初始化这个数据库时,我希望EF忽略这个实体,因为它已经存在了 我该怎么做呢?我没有特别检查EF 6,但我认为默认的EF行为是当数据库存在时,它假定所有模型都准备好了,因此不会创建表。如果希望初始化代码首先使用代码创建表,请使用初始化代码准备数据。看这里: 我没有特别检查EF6,但我认为默认的EF行为是当数据库存在时,它假定所有模型都准备好了,因此不会创建表。如果希望初始化代码首先使用代码创建表,请使用初始

我正在使用一个现有的数据库,我已经将其中一个表映射为一个实体,因为我需要映射一个外键

所以在初始化这个数据库时,我希望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。忽略你想要的?谢谢,这对我很有帮助。谢谢,这对我很有帮助。