2012-02-29 21 views
0

Iveは、現在NHibernateとSql ServerとMVCを使用しているアプリケーションでMongodbを使用し始めました。mongodbエンティティへの依存性の注入

IDは、脂肪コントローラから離れて、より多くのロジックを自分のエンティティにプッシュするのが好きです。

このように、Idはmongodbからフェッチされたときに自分のエンティティにサービスを注入するのが好きです。

これはNHibernateのリスナーで行うことができますが、MongoDBでこれを達成するために使用できるC#ドライバにはこのようなメカニズムがありますか?

乾杯、 バイロン

答えて

0

私のエンティティ

これは、悪い考えです、これはSingle Responsibility Principleに違反するので、(テストにハードコードになります)動作とデータをミックスに多くのロジックをプッシュエンティティは通常短命であるため、通常はDIコンテナによって解決されるべきではありません。

代わりに、コントローラのロジックをサービスレイヤに移動します。特にcommandsqueriesはすばらしい解決策になるか、少なくともサービスクラスにすべてのビジネスロジックを含めることができます。

ここではエンティティの論理についてMark Seemannがgreat answerです。

+0

こんにちはsteven、この質問は、私のエンティティに多くの論理にその良いか悪い考えかどうかについてではありませんでした。 – boz

+3

@boz:私の答えは無料です;-) – Steven

+0

あなたの応答は質問とは関係ありません。コマンドやクエリの解説に感染しました。 – boz