我想在我的ASP.net MVC 3项目中使用ELMAH和sql server,以及EF 4.3。
有没有办法让sql脚本自动运行,创建elmah表?
我猜测ef迁移可能会起作用,但我还没有使用它们。
我的目标是找到一个解决方案,你可以检查解决方案并直接运行(在部署的sqlexpress本地或完整的sql服务器上)并让它工作而无需手动运行各种帮助程序sql脚本
答案 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文件夹添加了一个初始化程序,因此您实际上不必添加任何代码。它将向您的数据库添加迁移,以确保只添加一次。