![](/img/trans.png)
[英]Changing discriminator column to int in Entity Framework 4.1
[英]Entity Framework 4.1 abstract class and discriminator
目前,我有一个我无法理解的问题。
我的模型中有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.
有人可以帮助我吗?
我找到了解决方案,我创建了一个新类“ RedevableConcrete”,该类继承自“ Redevable”,并将其标记为NotMapped。
这样,我可以实例化它以创建一些新实体,并且查询工作正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.