如何使用Azure SQL数据库中的Entity Framework动态创建数据库模式?

时间:2015-07-06 14:32:37

标签: c# sql-server asp.net-mvc ef-code-first azure-sql-database

基本上,我的应用程序上有DBContext,但我的应用程序将是多租户,这意味着我们需要为每个客户创建一个单独的数据库来隔离数据。

我发现这个例子在Azure上创建数据库 https://code.msdn.microsoft.com/windowsazure/How-to-create-a-Azure-SQL-5157ce03

static void Main(string[] args) 
      { 

          SqlManagementClient client = new SqlManagementClient(getCredentials()); 
     //Server Name is your SQL Azure DataBase server name, for example:da0dt6hrt6 
          client.Databases.Create("{Server-Name}", new Microsoft.WindowsAzure.Management.Sql.Models.DatabaseCreateParameters() 
          { 
              Name = "OnecodeTest", 
              MaximumDatabaseSizeInGB = 1, 
              CollationName = "SQL_Latin1_General_CP1_CI_AS", 
              Edition="Web" 
          }); 

          Console.ReadLine(); 
      } 

但是,我不知道如何以编程方式将CODE FIRST模型创建到新数据库中。

这是我的appdatacontext

public class AppDataContext : DbContext
    {

        public AppDataContext() : base("AppDataContext")
        {
        }

        public DbSet<Module> Modulos { get; set; }

        public DbSet<Empresa> Empresas { get; set; }

        public DbSet<Entidad> Entidades { get; set; }

        public DbSet<Propiedad> Propiedades { get; set; }

        public DbSet<ModulosPorUsuario> ModulosPorUsuario { get; set; }

        public DbSet<PerUserWebCache> PerUserCacheList { get; set; }


        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        }

    }

0 个答案:

没有答案