4

ストアド プロシージャのみ (O/RM なし) を使用してアクセスされる多くのテーブルを含む既存のデータベースを取得しました。Entity Framework と Code First アプローチを使用して、このデータベースに新しいテーブルを作成したいと考えています。

既存のデータベースのすべてのテーブルを Entity Framework クラスでモデル化する必要がありますか? で必要な新しいクラスのみをハンドコーディングできDbContextますか? 他のテーブルは、当面の間、O/RM から離れたままにしておく必要があります。

注:最新の EF5 を使用します。

4

2 に答える 2

6

現在のところ、Power ToolsではDB内のすべてのテーブルとビューのみをリバースエンジニアリングできます。これは、数百のオブジェクトを含む大きなDBがある場合に問題になる可能性があり、リバースエンジニアリングは必要ありません。

ただし、そのための簡単な回避策を見つけました。

リバースエンジニアリング用の新しいテクニカルユーザーを作成します。このユーザーには、リバースエンジニアリングが必要なテーブルとビューにのみアクセス許可を付与します。

楽しむ!

于 2012-12-14T13:44:46.880 に答える
1

特定のテーブルを EF にマップする義務はありません。既にデータベースがある場合は、Microsoft から入手できる EF Power Tools を使用してデータベースをリバース エンジニアリングすることを検討してください。私は最近、テスト目的で持っていた MySQL データベースでこれを行いましたが、非常にうまく機能しました!

EF を初めて使用する場合の利点は、PowerTools によって大量のコードが作成されることです。これにより、Code First の構文を理解するのに役立ちます。出力を変更する必要がありますが、それは素晴らしいスタートです。このアプローチが頭痛の種を最小限に抑えると本当に信じています。

EF PowerTools は、http: //visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/にあります。

于 2012-10-17T14:59:06.743 に答える