Sto provando a utilizzare le migrazioni EF7 e si è bloccato quando ho modellato un modello Organizzazione con ereditarietà.Migrazioni EF7 - Il tipo CLR corrispondente per tipo di entità "" non è istantaneo
L'organizzazione è una classe astratta e vi sono due classi concrete che l'ereditano denominate Individuale e Azienda.
Ho impostato la classe astratta Organizzazione come DbSet in DbContext ed eseguito le migrazioni.
Sto seguendo questo tutorial viene mostrato here
il seguente errore:
La corrispondente tipo CLR per tipo di entità 'Organizzazione' non è creare istanze e non v'è nessun tipo di entità derivato nel modello che corrisponde a un tipo CLR concreto.
Che cosa devo fare?
EDIT - Aggiornato con il codice di
Organizzazione
public abstract class Organization
{
public Organization()
{
ChildOrganizations = new HashSet<Organization>();
}
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public bool Enabled { get; set; }
public bool PaymentNode { get; set; }
public DateTime Created { get; set; }
public DateTime Updated { get; set; }
// virtual
public virtual ICollection<Organization> ChildOrganizations { get; set; }
}
individuale
public class Individual : Organization
{
public string SocialSecurityNumber { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
}
società
public class Company : Organization
{
public string Name { get; set; }
public string OrganizationNumber { get; set; }
}
DbContext
public class CoreDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<Organization> Organization { get; set; }
public CoreDbContext(DbContextOptions<CoreDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
// Customize the ASP.NET Identity model and override the defaults if needed.
// For example, you can rename the ASP.NET Identity table names and more.
// Add your customizations after calling base.OnModelCreating(builder);
}
}
Grazie in anticipo!
Si prega di aggiungere il codice nella questione. –
Avete DbContext nello stesso progetto o in un progetto separato? –
@TomDroste DbContext si trova nello stesso progetto di libreria di classi dei modelli di dominio e le migrazioni si trovano nel progetto Web. – Rovdjuret