实体框架4.1抽象类和鉴别器

时间:2012-07-26 14:38:37

标签: c# entity-framework-4.1

目前我遇到了一个我无法理解的问题。

我的模型中有2个实体

[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; }
}

我尝试进行这样的查询:

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

它的工作正常,我的班级Redevable是抽象的。 但是现在,我需要实现一个新的Redevable,所以我不能有一个抽象的类。

如果没有abstract关键字,我现在有一个错误 说the "extend2"."discriminator" is undefined.

任何人都可以帮助我?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案, 我创建了一个名为“RedevableConcrete”的新类,它继承自“Redevable”,并将其标记为NotMapped。

这样,我可以将其设置为创建一些新实体并且我的查询可以正常工作。