2017-08-22 2 views
0

J'ai fait ce changement, avant qu'il ne soit comme celui-ciLors de l'utilisation générique dans le dbset du cadre de l'entité à la migration

public DbSet<Pessoa> Pessoas { get; set; } 

Maintenant, il est ainsi

class ContextData<T> : DbContext where T : class 
{ 
    public DbSet<T> Dbset { get; set; } 

    public ContextData() : base("name=Connection") 
     { 

     } 

     protected override void OnModelCreating(DbModelBuilder modelBuilder) 
     {    

     base.OnModelCreating(modelBuilder); 

     modelBuilder.Configurations.Add(new PessoaMapping());       

     } 
}   

Alors maintenant, je ne sais pas ce que Je fais des migrations de classe

internal sealed class Configuration : DbMigrationsConfiguration<local.blogapi.Context.ContextData 
{ 
    public Configuration() 
    { 
     AutomaticMigrationsEnabled = true; 
    } 

    protected override void Seed(local.blogapi.Context.ContextData context) 
    { 

    } 
} 

Je sais que ça va faire une erreur. Je ne sais pas comment obtenir les entités ou s'il y a une commande spécifique au moment de faire la migration, ou si je passe une interface, comme IEntity

+1

Etes-vous en train d'essayer de créer un contexte pour chaque table? Si oui, pourquoi? Je ne le recommanderais pas. –

Répondre

1

vous avez probablement tort.

Un contexte est un groupe de dbset (les dbsets représentent les tables sql), lire this.

Je pense que vous n'avez pas besoin d'un contexte pour chaque table de votre base de données. L'utilisation de plusieurs contextes peut avoir un sens si vous souhaitez séparer les dbsets ayant une logique différente (basé sur le schéma par exemple, ou séparer les tables en lecture/écriture)

+0

Je comprends! Je lis sur le contexte mais en fait j'essayais de créer automatiquement dbset, mais je vois que ce n'est pas possible –

+0

@WallaceFerreira exactement. Je vous suggère également cette référence http://www.entityframeworktutorial.net/ pour apprendre le cadre de l'entité – Embri