我可以使用脚本创建elmah表和存储过程:
https://code.google.com/p/elmah/downloads/list
使用SQL Server Management Studio。它很好。
但我希望能够从代码中创建该表和存储过程。我应该在哪里以及如何做到这一点?
答案 0 :(得分:2)
当我使用Entity Framwork Migrations时,我正在我的inicial迁移中的Up()
方法运行它(Downloaded ELMAH-1.2-db-SQLServer.sql
文件):
public override void Up()
{
string[] ElmahCommands = GetElmahStructureScript();
foreach (string line in ElmahCommands)
{
Sql(line);
}
//...
}
public static string[] GetElmahStructureScript()
{
string sqlConnectionString = new MyDbContext().Database.Connection.ConnectionString;
Regex regex = new Regex("^GO", RegexOptions.IgnoreCase | RegexOptions.Multiline);
string[] lines = regex.Split(ElmahScript);
return lines;
}
static string ElmahScript = @"
CREATE TABLE [dbo].[ELMAH_Error] ...
...
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON";
注意:删除最后一个“GO”语句! (我还删除了脚本的第一部分,以检查兼容性版本......)