我已经开始在 EF4.0 中使用代码优先构建一个项目来构建我的数据库。我现在希望在 SQL Server 2008 中创建一些存储过程,这些过程将在创建的数据表上运行。
但是,由于 CF 删除并重新创建了整个数据库,我会丢失我创建的任何存储过程,并且每次都必须重新构建它们 - 这样很容易在不经意间丢失工作。
这里有“最佳实践”吗?当然,我现在总是可以锁定模式并首先忘记代码,但这并不理想。为什么 EF 会删除整个数据库 - 有没有办法只删除表?
我已经开始在 EF4.0 中使用代码优先构建一个项目来构建我的数据库。我现在希望在 SQL Server 2008 中创建一些存储过程,这些过程将在创建的数据表上运行。
但是,由于 CF 删除并重新创建了整个数据库,我会丢失我创建的任何存储过程,并且每次都必须重新构建它们 - 这样很容易在不经意间丢失工作。
这里有“最佳实践”吗?当然,我现在总是可以锁定模式并首先忘记代码,但这并不理想。为什么 EF 会删除整个数据库 - 有没有办法只删除表?
您可以使用自定义数据库初始化程序,它将在您每次重新创建数据库时创建您的存储过程。您还可以使用EF 迁移以增量方式构建数据库,而不是在每次更改后删除它。Up
迁移中的方法可以使用Sql
方法来创建存储过程。