我的 ASP.NET MVC 4 Code First 应用程序使用迁移创建种子数据 - 运行良好。
随着时间的推移,我自己输入的其他测试数据会逐渐增加。
删除此测试数据并仅返回种子数据的最快方法是什么?
我不希望每次运行我的应用程序时都重新创建数据库。
谢谢
我的 ASP.NET MVC 4 Code First 应用程序使用迁移创建种子数据 - 运行良好。
随着时间的推移,我自己输入的其他测试数据会逐渐增加。
删除此测试数据并仅返回种子数据的最快方法是什么?
我不希望每次运行我的应用程序时都重新创建数据库。
谢谢
最快的方法是删除数据库中的所有数据并调用 DbContextInitializer 上的 Seed 函数。
删除 SQL Server 中的所有数据非常简单
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'DELETE FROM ?'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO
在更高的级别,有不同的数据库初始化器可用。
开箱即用,您可以使用以下内容。
根据您想要做什么来切换初始化程序。通常我会在 global.asax 文件中这样做。