如何在c#中从现有数据库创建新数据库?

时间:2015-06-05 04:19:23

标签: c# sql-server asp.net-mvc

我想使用c#创建一个新数据库。我只想从用户界面传递数据库名称,对于该数据库名称,我想运行数据库的sql脚本,为新数据库创建该脚本的相同模式。

1 个答案:

答案 0 :(得分:2)

我没有你想要做的事情,但我已经做了一些功能,将一些默认数据播种到主表。

// sql文件位置

private static readonly string IndexScriptSeedMasterDataLocation = "SqlSeedMasterData.sql";

在我的功能中:

 private static void SeedMasterData ( IpDataContext context, string databaseName)
{
  context.Database.CreateIfNotExists();
  var sqlContent = Content(IndexScriptSeedMasterDataLocation);
  var modifiedSqlScript = sqlContent.Replace("@DatabaseName", databaseName);
  context.Database.ExecuteSqlCommand(modifiedSqlScript);
}

//内容功能:

private static string Content(string fileLocation)
{
 using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(fileLocation))
    {
      if (stream == null)
       {
          return string.Empty;
       }
       var streamReader = new StreamReader(stream);
       return streamReader.ReadToEnd();
     }
}