0

基本クラスから継承する POCO クラスがあります。EF Power Tools を使用してエンティティ データ モデルを表示しています。私が気付いたのは、5 つのプロパティのうち 2 つだけが基底クラスから表示されていることです。次に例を示します。

基本クラス:

using System;

namespace App.Model
{
    [Serializable()]
    public abstract class BaseEntity
    {
        public bool IsActive { get; private set; }
        public DateTimeOffset Created { get; private set; }
        public string CreatedBy { get; private set; }
        public DateTimeOffset LastUpdated { get; protected set; }
        public string LastUpdatedBy { get; protected set; }

        private BaseEntity() { }

        protected BaseEntity(DateTimeOffset created, string createdBy)
        {
            IsActive = true;
            Created = created;
            CreatedBy = createdBy;
            LastUpdated = created;
            LastUpdatedBy = createdBy;
        }
    }
}

継承クラス:

using System;

namespace App.Model
{
    [Serializable()]
    public class Person : BaseEntity
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Email { get; set; }

        public Person(DateTimeOffset created, string createdBy) : 
            base(created, createdBy) {  }
    }
}

モデルには LastUpdated と LastUpdatedBy のみが表示されます。

ここに画像の説明を入力

保護されたセッターとプライベートなセッターに関係があるのではないかと考えたので、表示されていない他の 3 つのプロパティを保護されたものに設定して、ツールを再実行してみました。IsActive、Created、および CreatedBy フィールドはまだ作成されていません。

この問題の原因と、5 つのフィールドすべてをモデルに表示するにはどうすればよいですか?

4

0 に答える 0