0

私はストアド プロシージャによって排他的に駆動される SQL Server 2008 データベースで C# と VS2012 を使用しています。

私は、ADO DataSet モデルの DataTableAdapter を使用して CRUD 操作に役立つメソッドを自動生成した経験がかなりあります。テーブルやストアド プロシージャを簡単に接続できる (必要に応じて後でスキーマを更新できる) ことは、私の RAD 環境で非常に役立ちます。フィールドを追加したり、ストアド プロシージャを頻繁に修正したりしています。CRUD 操作をメソッド呼び出しとして実行する方法は知っていますが、SELECT プロシージャを実行するコンストラクターを作成する方法がわかりません。私はこのモデルの制限と思われるものの回避策を探しており、最近 Entity Framework を使ってそれを克服できるかどうかを実験し始めましたが、これが可能かどうかを判断するにはまだ十分な経験がありません.

明確にするために、DataSet モデルを使用すると、次のようにデータベースから厳密に型指定された Person 行を取得できます。

PersonDataSetTableAdapters.Persons adapter = new PersonDataSetTableAdapters.Persons();
PersonRow person = adapter.GetByID(personID);

私がやりたいのは、次のような SELECT コンストラクター パターンを使用することです。

Person person = new Person(personID);

これを提供するために独自のヘルパークラスを作成しようとしましたが、何らかの方法で、コンストラクターで各プロパティを明示的に設定する必要があり、スキーマが変更されたときにそのコードを維持する必要があります。これはまさに私が避けたいことです。

私は自分のケーキを食べたいので、強く型付けされたオブジェクトと、スキーマが変更されたときに適度に簡単に更新できる自動生成されたコードが必要です。また、これらの基本クラスから継承し、必要に応じて部分クラスで拡張できるようにしたいと考えています。DataSet モデルでこれらすべての目標を達成する方法がわかりません。私が見つけた EF サンプルはどれも、私のパターンに十分に対応しているようには見えません。

ADO を使用して単純な SELECT コンストラクターを作成できますか? 方法を説明する簡単なコード サンプルを提供できますか?

4

0 に答える 0