首先在EF代码中,我想从一个表中删除一列&,然后删除另一个表。从EF CodeFirst迁移中删除表
从类文件中删除一列后,自动生成一个迁移文件。
但是如何删除表格。
需要发射什么命令?我是否需要删除完整的类文件&还从上下文文件中删除以下行?
public DbSet<TableClassName> TableClassNameSet { get; set; }
我使用添加移植'TableClassName'命令。
那么删除表格的最佳方法是什么?
首先在EF代码中,我想从一个表中删除一列&,然后删除另一个表。从EF CodeFirst迁移中删除表
从类文件中删除一列后,自动生成一个迁移文件。
但是如何删除表格。
需要发射什么命令?我是否需要删除完整的类文件&还从上下文文件中删除以下行?
public DbSet<TableClassName> TableClassNameSet { get; set; }
我使用添加移植'TableClassName'命令。
那么删除表格的最佳方法是什么?
要删除表格,您可以在DBMigration
类别的Down()
方法中使用DropTable("YourTable")
。
另请参阅以下链接以获取有关如何自定义迁移的更多示例。
https://msdn.microsoft.com/en-au/data/jj591621.aspx#customizing
如果你只是在最后的移民所做的更改,可以rollback,移民。否则,只需调整您的模型,并在下次迁移时找到更改。要删除表格,只需删除相应的DbSet<MyClass>
以及在模型的其他部分对该类的任何引用,EF将自动将DropTable添加到迁移。如果您不再将该类用于非实体框架目的,则可以将其删除。
使用DropTable是正确的,但它可能更好地调整模型。 另外这个问题似乎是关于删除一个不撤消迁移表。 Down()用于反转最新的迁移。所以根据我的理解,在这种情况下代码应该在Up()中。 –
@MikaelEliasson是的,谢谢。完成:) –