パターンテーブルデータゲートウェイについて質問があります...私は自分の目的のためだけに小さなプロジェクトを作成していて、テーブルデータゲートウェイパターンを実装したいと思っています。EntityFrameworkを使用して、このパターンのInsert、Update、Deleteなどのデータ操作メソッドを作成することができますか?データベースに接続するためにデータコンテキストを使用しますか?
ありがとうございました !
パターンテーブルデータゲートウェイについて質問があります...私は自分の目的のためだけに小さなプロジェクトを作成していて、テーブルデータゲートウェイパターンを実装したいと思っています。EntityFrameworkを使用して、このパターンのInsert、Update、Deleteなどのデータ操作メソッドを作成することができますか?データベースに接続するためにデータコンテキストを使用しますか?
ありがとうございました !
Table Data Gatewayパターンの目的は、開発者がSQLを直接記述しなくても済むようにすることと、SQLコードを一元化してDBAが簡単に保守できるようにすることです。
このように、Entity Frameworkはこれに対して少なくとも50%効果的です。Entity Frameworkを使用すると、開発者はSQLコードを作成する必要がないため、SQLコードの作成方法を知らない開発者の問題を回避できます。
DBAの管理を容易にするためのSQLコードの集中化については、Entity Frameworkを使用してストアドプロシージャを実装できます。これにより、挿入、更新、削除のメソッドを提供できます。これにより、残りの要件を満たすことができます。
これは、CRUDのストアドプロシージャをマッピングする方法を説明するビデオとテキストコンテンツを含むJulieLermanによる記事です。
MSDNには、これに関するチュートリアルがあります:EF Designer CUD Specs
POEEのTableDataGatewayに関するFowlerの例では、彼がコードで明示的なSQL呼び出しを行い、レコードまたはデータセットを返すことがわかります。例えば:
public IDataReader FindWithLastName(String lastName) {
String sql = "SELECT * FROM person WHERE lastname = ?";
Entity Frameworkはそれを抽象化するので、EFエンティティを参照している場合は、実際にはパターンを使用していないと思います。そうは言っても、あなたはそれが可能かどうか尋ねました、そしてもちろん答えはイエスです。パターンを実装する際にどのように「純粋」になりたいかという問題のようです。