2

データベーステーブルからエンティティを生成しました。次に、部分クラスを使用してプロパティを追加します。この新しいプロパティは、1対多の関係の「説明」部分です。問題は、これらのエンティティのセットが数億のプロパティと4つのプロパティを持っていることです。

私は通常、次のようなものを使用します。

db.entity.Select(e => e)

ただし、この場合、NEWプロパティはテーブルの一部ではないため、空またはnullになりました。

私はこれができることを知っています:

db.entity.Select(e => new entityType { field1 = e.field1, field2 = e.field2, etc….})

しかし、前に言ったように…膨大な数のプロパティ。

私の質問は:

新しいプロパティの値を割り当てて、Linqに残りを埋めさせるエレガントな方法はありますか?

何かのようなもの:

db.entity.Select(e => new entityType { *= e.*, newfield = e.relation.desc})

もちろん、それは機能しませんが、アイデアです。

ありがとう!

エドガー。

4

1 に答える 1

1

これは私が通常使用するアプローチです。

   public partial class EntityName
    {

      public string NewProp 
     {

        get {return this.relation.Desc;}
     }

    }

次に、linqクエリでインクルードを実行して、関連するプロパティが一致し、遅延読み込みのためにselect n+1が取得されないことを確認します。

db.entity.Select(e => e).Include(x => x.relation);
于 2012-04-04T20:05:04.430 に答える