EF:typeidマップエンティティのフレームワーク階層を使用する

私はこのエラーメッセージが表示され続けます:

例外の詳細:MySql.Data.MySqlClient.MySqlException: 'フィールドリスト'の 'Extent1.RuleType'列が不明です

私のマッピング:

public abstract class AlertRule
{
    private DateTime? _updateDateTime = DateTime.Now;

    [Key]
    public int Id { get; set; }

    public int TemplateId { get; set; }
    public virtual AlertRuleTemplate Template { get; set; }

    public string RuleType
    {
        get
        {
            if (Template == null)
                return null;
            return Template.Name;
        }
    }
}
public class AlertOutageRule:AlertRule
{
    public virtual List AlertRuleOutages { get; set; }
}
public class AlertMissingRule:AlertRule{}
public class AlertMetadataRule:AlertRule{}

        public DbSet AlertRules { get; set; }

        modelBuilder.Entity()
            .Map(m => m.Requires("RuleType").HasValue("NewsOutage"))
            .Map(m => m.Requires("RuleType").HasValue("NewsMetadata"))
            .Map(m => m.Requires("RuleType").HasValue("NewsMissing"));
            //.Property(m => m.TemplateId).HasColumnType("int");

        modelBuilder.Entity().ToTable("AlertRule");
2
nl ru de
RuleTypeにはセッターがないため、永続データベース列にマップすることはできません。これは、オブジェクトを取得するときにEFが正しいタイプを再具体化するために必要です。
追加された 著者 Morten Mertner,
RuleTypeにはセッターがないため、永続データベース列にマップすることはできません。これは、オブジェクトを取得するときにEFが正しいタイプを再具体化するために必要です。
追加された 著者 Morten Mertner,
はい;セッター(したがって列)を追加するか、マッピング内のプロパティへの参照をすべて削除する必要があります。
追加された 著者 Morten Mertner,
はい;セッター(したがって列)を追加するか、マッピング内のプロパティへの参照をすべて削除する必要があります。
追加された 著者 Morten Mertner,
はい;セッター(したがって列)を追加するか、マッピング内のプロパティへの参照をすべて削除する必要があります。
追加された 著者 Morten Mertner,
@MortenMertnerあなたはこのプロパティは、データベース内の対応する列を持っている必要がありますか?
追加された 著者 Scott 混合理论,
@MortenMertnerあなたはこのプロパティは、データベース内の対応する列を持っている必要がありますか?
追加された 著者 Scott 混合理论,

1 答え

public string RuleType は読み取り専用( set {..} なし)として定義されています。

EFはこのプロパティをデータベースにマップしません。あなたのDBスキーマを参照してくださいそれは2列だけ(Id、TemplateId)生成されます

2
追加された
EFモデルがこのプロパティを認識しないため、 .Map (m => m.Requires( "RuleType"))を使用することはできません。データアノテーションを試すか、 MetaDataAttributes を使用してください。
追加された 著者 aifarfa,
私はセッターを必要とせず、それをデータベースにマップしたくありません。助言がありますか?
追加された 著者 Scott 混合理论,