我正在研究的ASP.NET MVC(3)应用程序的一个要求是它必须能够创建和填充所有必需的数据库表,如果它被配置为使用空数据库。
由于它是一个标准的ASP.NET MVC3应用程序,它使用标准的身份验证表(aspnet_*
),以及一堆存储过程和内容。
我现在正在尝试通过迁移(通过MigratorDotNet)逐个创建表格(到目前为止只有aspnet_Users
一个),希望它们不是全部需要;我需要的其他内容包括某些存储过程,如CheckSchemaVersion
。
如何从内部 ASP.NET MVC应用程序中创建这些内容?
我还有一个空的ASP.NET MVC数据库的SQL转储(因此它创建所有表和存储过程)以从中提取相关的SQL。作为一个超级最后的手段,如果我可以从我的应用程序内部以某种方式运行它,这可能足以作为解决方案。
如果重要,我正在使用ActiveRecord(由NHibernate支持)和SQL Server 2008 Express。
答案 0 :(得分:0)
这确实是可能的。该代码在我的应用程序Syzite中可用,它是开源的(检查AdminController.createAspNetStoredProcedures()
)。
解决方案是:
CREATE PROCEDURE ... )\n
作为程序生成调用System.Data.Linq.DataContext
实例instance.ExecuteCommand
代码致电CREATE PROCEDURE
。