自动运行 ELMAH 数据库脚本

发布于 2025-01-06 04:25:02 字数 238 浏览 0 评论 0 原文

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

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

我猜 ef 迁移可能可以完成这项工作,但我还没有经常使用它们。

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

I want to use ELMAH with sql server on my ASP.net MVC 3 project, along with EF 4.3.

Is there a way I can have the sql script run automatically that creates the elmah tables?

I'm guessing that ef migrations might do the job but I haven't used them much yet.

I'm aiming for a solution where you can checkout the solution and run it straight up (to sqlexpress locally or full blown sql server on deploy) and have it just work without having to manually run the various helper sql scripts

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沙与沫 2025-01-13 04:25:02

添加一个空的基于代码的迁移(当没有待处理的数据库更改时,只需键入 add-migration ElmahSetup)。

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

Add an empty code-based migration (just type add-migration ElmahSetup when there are no pending DB changes).

Then add calls to Sql() to run the elmah in the Up() method. To make the solution complete you have to add corresponding drop statements to the Down() method.

一桥轻雨一伞开 2025-01-13 04:25:02

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

I know this question was for EF 4.3, but if you are using EF 6.1 then there is now a nuget package that will initialize the Elmah table and procs for you: https://www.nuget.org/packages/Elmah.SqlServer.EFInitializer/. Add it to your web project. It will then use EF code first to create it for you. It adds an Initializer to your App_Start folder so you actually don't have to add any code. It will add a migration to your database to ensure it only gets added once.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文