0

現在、私は理解できない問題を抱えています。

モデルに 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ため、抽象クラスを作成できませんでした。

抽象キーワードがないと、次のエラーが表示されますthe "extend2"."discriminator" is undefined.

誰でも私を助けることができますか?

4

1 に答える 1

0

「Redevable」から継承する「RedevableConcrete」という新しいクラスを作成し、それを NotMapped としてマークしました。

このようにして、いくつかの新しいエンティティを作成するためにそれをインスタンス化でき、クエリが機能します。

于 2012-07-27T07:05:08.867 に答える