2

データアクセスレイヤーでEntityFrameworkを使用していますが、これもオブジェクトモデルとして使用しています。

疑似オブジェクトモデル:

public class Item{
    public string ID{get;set;}
    public string Name{get;set;}
    public Xml Data{get;set;}
}

ここで重要なのはDataプロパティです。私はこれを行うことができるようにしたいと思います:

疑似:

var item = Items.Get(id: 1);
var xmlValue = item["key"];

EFで生成されたクラスItemを新しいプロパティで拡張できるようにしたいと思います。ここでは、ロジックを使用してxmlからキーで値を取得します。

私の問題は:

  1. EFデータモデルの操作が非常に簡単ではなく、Itemテーブルを更新したいときに、拡張ロジックが有効であるかどうか確信が持てません。
  2. 抽出したモデルを追加して、毎回EFアイテムをMy.Itemに変換したいとは思いません。テーブルが大きくなると、これは大きな問題になります。

EFオブジェクトモデルを拡張する良い方法は何ですか?

私はいけないこと

4

1 に答える 1

4

部分的なクラスを使用して、追加のフィールド/プロパティを定義することができます。

フィールドが同じであれば、EFアイテムからアイテムへの変換は簡単です 。Automapperを使用するだけで済みます。

しかし、私は部分的なクラスの解決策に傾いています。

于 2012-12-12T19:51:43.860 に答える