2012-07-26 3 views
0

Actuellement, j'ai un problème que je ne peux pas comprendre.Entity Framework 4.1 classe abstraite et discriminateur

J'ai 2 entités dans mon modèle

[Table("TX_REDEVABLE")] 
public abstract class Redevable 
{ 

} 

[Table("TX_BILLET_STATION")] 
public class BilletStation 
{ 
    [Column("BST_ID_INFO_RDV")] 
    public Int64? RedevableId { get; set; } 

    [UserVisible(Ordre = 23)] 
    [Display(Name = "Redevable")] 
    [ForeignKey("RedevableId")] 
    public virtual Redevable Redevable { get; set; } 
} 

Et j'essaie de faire une requête comme ceci:

var q = (from b in Repository.DataContext.BilletStation 
     where b.Redevable != null 
     select b).ToList(); 

Il fonctionne très bien, il est ma classe Redevable abstraite. Mais maintenant, je dois instanciante un nouveau Redevable donc je ne pouvais pas avoir une classe abstraite.

Sans le mot-clé abstrait, j'ai maintenant une erreur disant que the "extend2"."discriminator" is undefined.

Tout peut me aider?

Répondre

0

J'ai trouvé une solution, J'ai créé une nouvelle classe appelée "RedevableConcrete" qui hérite de "Redevable" et je l'ai marqué comme NotMapped.

De cette façon, je peux instanciante pour créer de nouvelles entités et ma requête fonctionne.

Questions connexes