2011-07-13 9 views
0

リバースエンジニアリングコードを最初に実行した後、エンティティクラスとマッピングが取得されました。私が既に持っているビジネスクラスのほとんどは、エンティティクラスと同じ名前を持ち、エンティティクラスとビジネスクラスのほとんどのプロパティは同じです。エンティティフレームワークのコードを最初に使用するリバースエンジニアリング - エンティティおよびビジネスクラス

私が実装権を理解していれば、すべてのプロパティを持つエンティティクラスで部分クラスを作成し、それらのプロパティを削除しビジネスルールだけを残してビジネスクラスを変更する必要があります。

これが正しい場合、派生クラスについてはどうすればよいですか?明らかに、エンティティクラスは基本クラスからすべてのプロパティを必要とします。エンティティクラスが基本クラスから継承するように、エンティティクラスのコードを変更することはできますか?

ご意見は歓迎します。

答えて

1

おそらくビジネスクラスを削除する必要があります。 ORMは、オブジェクトをロードし永続化するためのツールです。永続性のための特別なオブジェクトセットと、ビジネスロジック用の特別なオブジェクトセットはありません。永続プロパティと計算されたプロパティ+永続プロパティで実行されるビジネスルール(部分クラスに格納)からなる単一セットを使用します。それは、一般的にドメインオブジェクトと呼ばれるものを形成します - それはそのデータに関連するデータとロジックの両方を持っています。複数のドメインオブジェクトにロジックを実行する別々のクラスを持つことができます(ロジックはオブジェクト自体に属しません)。これらのクラスは、通常、ドメインサービスと呼ばれます。

+0

ありがとう、それも私がそれを見ている方法ですが、ビジネスクラスは "私の財産"ではないので、それらに変更を加えることは躊躇しました。このアイデアを私の同僚に紹介します。 – Minnie

0

あなたはそれがmost of the properties in entity and business classes are the sameと言っていますか?それはそうであってはなりません。ビジネスクラスはエンティティのプロパティではなくビジネスロジックのみを持つ必要があります。ビジネスクラスはエンティティクラスを使用してビジネスを実現します。 こちらは良い例ですhttp://code.msdn.microsoft.com/ASPNET-MVC-Application-b01a9fe8/

+0

これは新しいプロジェクトなので、データベースとクラスのプロパティはほぼ同期しています。 Entityフレームワークを使用するかどうかの決定は、プロジェクトで遅れて行われました。 – Minnie

+0

例を追加しました。必要に応じて変更を加えてください。 –

+0

リンクをありがとう、プロジェクトを開くことができませんでした、どの前提条件が必要かを確認して、それを調べます。継承に関する考え? – Minnie

関連する問題