Je sais comment définir le schéma d'une table dans mon contexte, mais existe-t-il un moyen de définir le schéma par défaut pour toutes les tables d'un contexte? c'est à dire.
[Schema = "Ordering"]
public class MyContext:DbContext
{
public MyContext()
: base("name=ConnectionString")
{
}
public DbSet<Student> Students { get; set; }
}
Vous pouvez configurer le schéma par défaut dans la méthode OnModelCreating de votre classe DbContext héritée personnalisée comme -
public class MyContext: DbContext
{
public MyContext(): base("MyContext")
{
}
public DbSet<Student> Students { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//Configure default schema
modelBuilder.HasDefaultSchema("Ordering");
}
}
À partir d'EF6, vous pouvez utiliser la méthode HasDefaultSchema sur DbModelBuilder pour spécifier le schéma de base de données à utiliser pour toutes les tables, procédures stockées, etc. Ce paramètre par défaut sera remplacé pour tous les objets pour lesquels vous configurez explicitement un schéma différent.