質問: Dapperの使用を開始したいのは、一般的なCRUD操作を置き換えるためにEntity Frameworkですべてのストアドプロシージャをマップするよりも、ストアドプロシージャで使用する方が簡単だと思うからです。 私はdapperでPOCOクラスを作成する方法を知りたいのですが、それが不可能な場合は、Entityフレームワークを使用してデータベースからモデルを作成し、dapperで作成したクラスを使用できますか? ありがとう!
回答: 私がEntity Framework / nHibernateと一緒にdapperを使ったプロジェクトがいくつかあります。 Dapper用に作成されたPOCOクラスとコードの最初のEntity Frameworkで使用されるドメインエンティティは区別され、両方を作成する必要があります。 ストアドプロシージャはデータの形状ビューで動作し、ドメイン全体を表す責任はありません。 あなたが使用するPOCOクラスには、単一の責任の慣行に従って、ストアドプロシージャが使用するプロパティのみが含まれている必要があります。 データアクセスにEntity Frameworkを使用せず、Dapperとストアドプロシージャで完全に置き換えたい場合は、ORMの利点のいずれかを実現することができず、単純にスキーマとそれが使用するPOCOクラスを手作業で手作りする必要があります。 スキーマからPOCOSを生成することができます。また、これを行うためのツールが存在します。アプリケーション層に合わせて独自のクラスを作成するオーバーヘッドがあれば、何のメリットもありません。