0

私はこのエンティティを持っています:

 public class MyDTO
    {
        int id;
        public int Id
        {
            get { return id; }
            set { id = value; }
        }

        DateTime createdOn;
        public DateTime CreatedOn
        {
            get { return createdOn; }
            set { createdOn = value; }
        }

        DateTime modifiedOn;
        public DateTime ModifiedOn
        {
            get { return modifiedOn; }
            set { modifiedOn = value; }
        }

        int duration;
        public int Duration
        {
            get { return ((TimeSpan)(ModifiedOn - CreatedOn)).Days; }
            protected set { }
        }
}

これDurationは計算されたプロパティであり、次のマッピング ファイルも含まれます。

internal partial class MyDTO_Mapping : EntityTypeConfiguration<MyDTO>
{
    public MyDTO_Mapping()
    {
        this.HasKey(t => t.Id);
        this.ToTable("MyDTO");
        this.Property(t => t.Id);
        this.Property(t => t.CreatedOn).HasColumnName("CreatedOn");
        this.Property(t => t.ModifiedOn).HasColumnName("ModifiedOn");
        this.Ignore(t => t.Duration);
    }
}

しかし、このエンティティに対してクエリを実行したい場合 ( Durationwhere 句で使用した場合)、次のエラーが発生します。

指定された型メンバー 'Duration' は、LINQ to Entities ではサポートされていません。初期化子、エンティティ メンバー、およびエンティティ ナビゲーション プロパティのみがサポートされています。

私の間違いはどこですか?

4

1 に答える 1