2011-12-22 4 views
1

私は、製品とそれに属するいくつかのプロパティを格納するためのデータベースを設計しています。プロパティは親製品から子製品に継承できます。たとえば、データベーススコープ外でEntity Frameworkオブジェクトを使用できますか?

ProductA ---> PropertyA, PropertyB 
|-ProductB ---> PropertyC 

この例では、ProductBにはPropertyCとPropertyAとPropertyBが必要です。特定の製品のすべてのプロパティを取得するために、私はすべての親を通過し、リスト内のすべてのプロパティを蓄積する必要があります。しかし、Propertyクラス自体はデータベースエンティティなので、通常のオブジェクト(データベースから切り離されたもの)を定義するために、データベースの内容に影響を与えずに、つまり通常のC#オブジェクトとしてインスタンスを作成、変更、削除するために使用できますか?

答えて

3

はいできます。 Entity Framework 4.0以降は、POCOエンティティ(Plain Old CLR Object)として知られているものをサポートしています。これらは、データベースの懸念事項とは完全に別個に存在し、必要に応じて、永続性のためにEntity Framework Contextのインスタンスに追加できます。

同様に、ドメインモデル内でそれらを操作することを選択した場合、同じコンテキストを使用してデータベースから取得したコンテキストからエンティティを切り離すことができます。

真のコードファーストであるかデータベースファーストであるかによって、これらのエンティティの作成に使用する開発ワークフローが決まります。

+0

優秀!どうもありがとう。 – Rafid

関連する問題