0

我可以使用脚本创建 elmah 表和存储过程:

https://code.google.com/p/elmah/downloads/list

使用 SQL Server 管理工作室。它炒得很好。

但我希望能够从代码中创建该表和存储过程。我应该在哪里以及如何做到这一点?

4

1 回答 1

2

当我使用实体框架迁移时,我正在从Up()我的初始迁移(下载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”语句!(我还删除了脚本的第一部分,以检查兼容性版本...)

于 2013-06-15T20:37:09.387 回答