Je vérifie s'il y a moyen de changer dynamiquement la table mappée à une entité dans EF 6. Le schéma de la table ne change pas, juste le nom. Par exemple, j'ai une Entité appelée Commandes, puis j'ai besoin d'affecter cette Entité à une vue SQL créée dynamiquement lorsque le programme s'exécute. Le nom de la vue est généré au moment de l'exécution, j'ai donc besoin de mapper le nom de cette vue à l'entité Orders en cours d'exécution. Une idée de comment faire cela? Merci d'avance. -FernandoEF et noms de tables dynamiques
1
A
Répondre
2
Tant que le nom de la table ne change pas pendant que votre programme est en cours d'exécution, vous pouvez simplement mapper dans OnModelCreating. Par exemple
class Db: DbContext
{
public DbSet<Student> Students { get; set; }
public DbSet<ClassRoom> Classrooms { get; set; }
public DbSet<StudentToClassRoom> StudentToClassRoom { get; set; }
private string GetStudentTableName()
{
return "Student123";
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Student>().ToTable(GetStudentTableName());
base.OnModelCreating(modelBuilder);
}
}
Mais le modèle est créé avant la création de la vue, je vais ajouter ceci à la question, merci. –
De toute façon, je vais jeter un coup d'oeil à cela parce que je pense que nous pouvons définir le nom de la vue lorsque l'application démarre. Va vérifier et vous laisser savoir, merci. –