5

.net3.5のLinq-2-SQL上に構築されたデータレイヤーがあります。.Net4への移行を検討しています。最初の開発を開始したとき、データレイヤーにEFを使用することに興味がありましたが、.Net3.5では実際にはオプションではないことがわかりました。アップグレードしているので、もう一度考えています。

L2Sはまだ.Net4でサポートされていることを認識していますが、しばらくの間、ビジネスの中核となる可能性が高いシステムの将来の保証のために、よりアクティブな開発領域に切り替えたいと思います。(私の理解は、「コア(L2S)を改善し、意味のあるところに顧客の要求を追加すると言ったが、EntityFrameworkが主な焦点になる」などのステートメントに基づいています。この投稿へのコメントのDamienGuardから。

少し複雑なのは、L2S実装にいくつかの変更を加えたことです。

  • .tt生成ファイルをかなりカスタマイズし、L2ST4をわずかにカスタマイズしました。
  • すべてのCRUD操作(自動的に生成されます)にストアドプロシージャを使用しています。これにより、必要に応じて特定のテーブルの詳細な監査証跡をオン/オフに切り替えることができます。

私が知っている残りのほとんどは、EF4で自分で行ったので問題ありませんが(実際、その多くはEF4データベースで開始されました)、上記のカスタマイズが行われるかどうかを知りたいと思いました。問題。

それで:

  • カスタマイズされた.ttタイプの生成システム(または同様のもの)をまだ使用できますか?
  • CRUDに独自に定義したsprocを引き続き使用できますか?

注意:EFを使用した場合、おそらくDatabaseFirstバージョンを使用します。

4

1 に答える 1

2

カスタマイズされた.ttタイプの生成システム(または同様のもの)をまだ使用できますか?

はい。VS 2012DbContextでは、T4テンプレートを使用するジェネレーターを使用してDbContext、永続性を無視するクラスを生成できます。

追加してedmxファイルにポイントすると、出力をカスタマイズするために必要なすべてのテンプレートを変更できます。

VS.NET 2010を使用している場合は、VisualStudioGalleryからEF5.xDbContext Generator for C#拡張機能をインストールして、テンプレートジェネレーターをインストールし、VS.NETの[アイテムの追加]メニューに追加できます。

CRUDに独自に定義したsprocを引き続き使用できますか?

はい、それは単に概念モデル(edmxファイルで操作するもの)を物理モデル(データベースの表現)にマッピングすることの問題です。マッピングでは、動的に実行するのではなく、ストアドプロシージャを指定します。

Julie Lermanは、MSDNドキュメントの「EntityFrameworkのストアドプロシージャ」のセクションで、CRUD操作をストアドプロシージャにマッピングする方法について詳しく説明しています。

于 2012-08-31T14:29:51.300 に答える