2011-11-09 30 views
0

我正在處理的ASP.NET MVC(3)應用程序的需求之一是它必須能夠創建並填充所有必需的數據庫表等。if它被配置爲使用空數據庫。從ASP.NET內部創建存儲過程MVC

由於它是一個標準的ASP.NET MVC3應用程序,它使用標準的認證表(aspnet_*),以及一堆存儲過程和東西。

我想要,現在是通過遷移創建表(通過MigratorDotNet)一個接一個必要的(至今只取得了aspnet_Users之一),希望他們不是所有需要的;我需要的其他東西包括某些存儲過程,如CheckSchemaVersion

如何從創建這些內部 ASP.NET MVC應用程序?

我也有一個空的ASP.NET MVC數據庫的SQL轉儲(所以它創建所有的表和存儲過程)從中提取相關的SQL。作爲超級最後的手段,如果我可以以某種方式從我的應用程序內部運行此操作,那麼可以作爲解決方案。

如果有關係,我使用ActiveRecord(由NHibernate支持)和SQL Server 2008 Express。

回答

0

這確實是可能的。該代碼可在我的應用程序Syzite中找到,它是開源的(請檢查AdminController.createAspNetStoredProcedures())。

的解決方案是:

  • 商店中的程序到一個文本文件中的服務器
  • 迭代超過所有行
  • 發現每一套CREATE PROCEDURE ...)\n作爲過程產生的呼叫
  • 創建a System.Data.Linq.DataContext實例
  • 使用CREATE PROCEDURE代碼調用instance.ExecuteCommand