0

データベースからEFで生成されたクラスの別のプロパティ(列)からLINQに従ってサマリープロパティ(データベース列なし)を追加することは可能ですか?このプロパティは、データベースからモデルを更新するときに更新(クラスから削除または削除)しません(このプロパティ( clumn) はデータベースにありません)

4

2 に答える 2

0

[NotMapped]のプロパティで属性を使用してみてくださいpartial class。これはEntityFrameworkでは無視されます。

public partial class EntityName
{
    [NotMapped]
    public int CalculatedProperty
    { 
        get 
        {
            return Numbers.Sum();
        }
    }
}
于 2013-03-10T06:46:31.417 に答える
0

はい、そうです。エンティティ フレームワークによってエンティティとして生成されたクラスは、常にマークされpartialます。独自のプロパティまたはメソッドで機能を拡張できます。

あなたのエンティティクラスの名前がPost. 次のようなコードで拡張できます。

public partial class Post
{
    public int Average
    {
        get
        {
            return this.Items.Average();
        }
    }
}

これはデザイナーが生成したファイルの一部ではないため、再生成されても上書きされません。ただし、それを機能させるには 1 つの要件があります。クラスのカスタム部分はPost、EF によって生成されたコードとまったく同じ名前空間に存在する必要があります。

于 2013-03-10T06:36:26.880 に答える