自动运行ELMAH数据库脚本

时间:2012-02-14 11:47:53

标签: sql entity-framework elmah ef-migrations

我想在我的ASP.net MVC 3项目中使用ELMAH和sql server,以及EF 4.3。

有没有办法让sql脚本自动运行,创建elmah表?

我猜测ef迁移可能会起作用,但我还没有使用它们。

我的目标是找到一个解决方案,你可以检查解决方案并直接运行(在部署的sqlexpress本地或完整的sql服务器上)并让它工作而无需手动运行各种帮助程序sql脚本

2 个答案:

答案 0 :(得分:5)

添加基于代码的空迁移(只有在没有待处理的数据库更改时才输入add-migration ElmahSetup)。

然后添加对Sql()的调用以在Up()方法中运行elmah。要使解决方案完整,您必须向Down()方法添加相应的drop语句。

答案 1 :(得分:3)

我知道这个问题适用于EF 4.3,但是如果您使用 EF 6.1 ,那么现在有一个nuget包可以初始化Elmah表并为您进行处理:https://www.nuget.org/packages/Elmah.SqlServer.EFInitializer/。将其添加到您的Web项目中。然后它将首先使用EF代码为您创建它。它为您的App_Start文件夹添加了一个初始化程序,因此您实际上不必添加任何代码。它将向您的数据库添加迁移,以确保只添加一次。