基本上,我的应用程序上有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>();
}
}