4

Entity Framework を使用する場合、モデルを作成するには基本的に 2 つの方法があります。SQL サーバーまたは Visual Studio EF デザイナーでモデルを作成します。それらの概要を以下に示します。

データベースから始める

最初に SQL サーバー DB にモデルを作成し、次に EF を指定して .edmx ファイルを作成します。このアプローチを使用すると、SQL サーバー管理スタジオを使用して、すべてのモデルと関係を作成できます。

Visual Studio EF デザイナーから始める

このアプローチでは、最初に Visual Studio でモデルを作成し、そこからデータベースを作成します。こうすることで、テーブルやリレーションシップをあまり気にする必要がないように思えます。

ここに私がしていることと、そのようにする理由があります

まず、SQL サーバー管理スタジオを使用してモデルを作成します。そのツールを使用してテーブルを作成および変更する方が簡単だと思うので、これを行います。また、何が作成されているかを正確に知っています。既存のデータベースを指すように EF モデルを作成します。その後、Visual Studio データベース プロジェクトを作成して、データベースがファイルにスクリプト化され、バージョン管理されます。変更が必要な場合は、データベースを変更してから、.edmx ファイルとデータベース プロジェクトを更新します。

これらの異なるアプローチの長所と短所は何ですか?また、どちらを使用するかを決定する基準は何ですか? 私はそれを間違っていますか?最初に Visual Studio でモデルを作成する必要がありますか?

4

2 に答える 2

2

これを行うのに「正しい」方法や「間違った」方法があるとは思いません。多くの場合、コードをデプロイする方法やコードがどこに行くかなどによって異なります。Scott Guthrie が最近ブログに書いた 3 番目の方法もあります。

http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx


補足として、モデル デザイナーから始めたとしても、テーブル/リレーションシップについて常に考える必要があると思います。データベースでこれらを間違えると、後で大きな問題が発生する可能性があるからです。

于 2010-07-18T07:25:34.320 に答える
0

正しい方法も間違った方法もないと思います。

弊社では、まずデータベースの変更を直接開発しており、既存のモデルの edmx モデルに適用しています。
新しいモデルの場合、最初に edmx モデルを作成してから、データベースを生成します。その時点から、通常はデータベースを直接更新します。コードを内部でテストし、正しく実行され、SQL データベースが正しいことがわかったら (もちろん、チェックインする前に)、データベースで SQL 比較を実行して、データベース プロジェクトに変更を適用します。データベース プロジェクトに。

これは私たちにとって非常にうまく機能しています。

于 2011-06-08T19:28:09.390 に答える