我想在我的 ASP.net MVC 3 项目中使用 ELMAH 和 sql server,以及 EF 4.3。
有没有办法让创建 elmah 表的 sql 脚本自动运行?
我猜 ef 迁移可能会完成这项工作,但我还没有太多使用它们。
我的目标是找到一个解决方案,您可以在其中签出解决方案并直接运行它(到本地 sqlexpress 或部署时完整的 sql server)并让它工作,而无需手动运行各种帮助 sql 脚本
我想在我的 ASP.net MVC 3 项目中使用 ELMAH 和 sql server,以及 EF 4.3。
有没有办法让创建 elmah 表的 sql 脚本自动运行?
我猜 ef 迁移可能会完成这项工作,但我还没有太多使用它们。
我的目标是找到一个解决方案,您可以在其中签出解决方案并直接运行它(到本地 sqlexpress 或部署时完整的 sql server)并让它工作,而无需手动运行各种帮助 sql 脚本
添加一个空的基于代码的迁移(只需add-migration ElmahSetup
在没有挂起的数据库更改时键入)。
然后添加调用以Sql()
在方法中运行 elmah Up()
。要使解决方案完整,您必须在Down()
方法中添加相应的 drop 语句。
我知道这个问题是针对 EF 4.3 的,但是如果您使用的是EF 6.1,那么现在有一个 nuget 包可以为您初始化 Elmah 表和 procs:https://www.nuget.org/packages/Elmah.SqlServer。 EFInitializer/ . 将其添加到您的 Web 项目中。然后它将首先使用 EF 代码为您创建它。它将 Initializer 添加到您的 App_Start 文件夹中,因此您实际上不必添加任何代码。它将向您的数据库添加迁移,以确保它只添加一次。