2016-05-23 13 views
1

Entity Frameworkとリポジトリパターンは新しくなっていますが、これをシステムに実装しようとしています。ストアドプロシージャを使用したリポジトリパターン、EF

私たちのシステムで動作するドメインモデル(論理モデル)が用意されています。これは問題ありません。問題は、ストアドプロシージャから返されたデータをこのドメインモデルにマップする方法を理解することが苦労していることです。

ストアドプロシージャから返されるデータは、エンティティモデルにマップされません。私はこれを行うと考えることができ

唯一の方法は、ただのDataReaderをループ、データリーダーを実行することで、純粋で、そしてGoogle検索「データマッピング」の日付から思わ直接各項目、...

を割り当てますしかし、これをストアドプロシージャからドメインモデルに実装する方法の例は表示されません。 ストアドプロシージャのみのエンティティモデルです。

+5

なぜ単にストアドプロシージャを呼び出す場合は、Entity Frameworkをまったく使用していますか?それは非常に少ない利益のためにオーバーヘッドのトーンです。格納されているprocsだけを呼び出す場合は、オーバーヘッドなしでオブジェクトマッピングを行うDapperのようなものに切り替える必要があります。あなたが今やっていることは、ほとんど価値がないものをたくさん追加することです。 –

答えて

0

質問があります。

プレーンなADO.NETを使用してマッピングを行うことに決めた場合は、今までに完了していますか?チームの全員がコードの内容を100%理解していましたか?

私たちはなぜ、それがなぜ私たちに与える利益を本当に理解することなく、新しい技術を適用しようとしているようです。 Entity Frameworkでどのような利点がありますか?あなたのアプリケーションのバージョン1対比バージョン5ではどのような時間を節約できますか? ORMが失敗するとどうなりますか?あなたのチームの誰もが失敗する理由を知っていますか?

ストアドプロシージャを使用している場合は、シンプル(ADO.NET)またはより軽量のマッパー(DapperまたはMassiveなど)を使用する方がよい場合があります。

+0

は、最初と最後の2つの質問に答えるために、当初はループに固執していました。しかし、このタイプのマッピングを実現する方法を理解するのが好きです。efで動作するprocsを見たことがありますが、返されたデータは直接エンティティにマップされ、エンティティはビジネスレイヤ内のドメインモデルにマッピングされます。 – Simon

関連する問題