0

EF 5.0 でデータベース ファーストのアプローチを使用しようとしていますが、正しいモデルが作成されません。

ここに私のデータ構造があります:

フォーラム

フォーラム

ユーザー

ユーザー

投稿

投稿

関係 関係

問題

主な問題は、 と テーブルの 1 対 1 の関係にForumsありPostsます。ParentForumIDモデルはとを nullable として認識しないため、テーブル (と)ReplyToの間に 1 対多の関係が作成されます。Forum-ForumPost-Post

また、手動で 1 対 1 の関係に変更しようとすると、次のエラーが発生します。

エラー 113: 関係 'FK_Forums_Forums' のロール 'Forum1' では多重度が無効です。依存ロール プロパティはキー プロパティではないため、依存ロールの多重度の上限は * でなければなりません。...\Models\Entities\Model1.edmx

Visual Studio のモデル (編集前)

モデル

コード ファースト アプローチを使用してみましたが、データベースの結果が悪く、データベース作成の動作を構成できることに気付きましたが、それを正しく構成する方法を説明する適切なリソースが見つかりませんでした。

データベースをカスタマイズできるので、むしろデータベース ファーストのアプローチを使用したいと思いますが、それでも多くのエラーを含む不適切なモデルが生成されます。

だから私の質問は:

  1. そうするための最良のアプローチは何ですか?

  2. コードを最初に、データベースを最初に徹底的に学習できる場所はどこですか?

  3. ビジュアル スタジオがそのようなモデルを作成するのはなぜですか?

  4. ニーズに合わせてモデルを変更しようとすると、前述のエラーが表示されるのはなぜですか?

  5. 移行ツールについてどこで知ることができますか? データベースの作成を構成するために使用できる関数は?

4

2 に答える 2

0

質問 2 - 5: これはさまざまな方法で学ぶことができます。一部の人々は、入手可能な EF と C# プログラミングに関する非常に優れた書籍の 1 つを購入することを好みます。

他の人は、クラスを受講して、この Entity Framework テクノロジ全体をブートストラップすることを好みます。私はそのような会社で働いており、素晴らしいクラスがあります。私はあるトレーニング会社を別の会社に押し付けるためにここにいるわけではないので、雇用主とは別の推奨事項を作成します ~ Plural Sight. それらは非常に優れています。コード ファーストの EF アプローチ トレーニング プログラムへのリンクは、こちら にあります。有料コースです。

私のアプローチには、さまざまなモデルを試してみることが含まれていたので、EF デザイン サーフェスがどのように機能するかを理解しました。その結果、私はあなたと同じように、DataBase の最初のモデリング アプローチを好むようになりました。じっと我慢して、さまざまなことを試しながら、ツールを叩き続けてください。

限定でお手伝いさせていただくこともございます。EF がモデルを作成した理由を説明することはできません。なぜなら、ここまで到達するために何をしたかがわからないからです。これについて少しコーチングが必要な場合は、StackOverflow からお気軽にお問い合わせください。

幸運を!

于 2013-02-10T01:42:39.610 に答える
0

質問 1: 状況によります。

コードを書いた場合、または最初にオブジェクトを書きたい場合は、そのルートに進みます。

一方、最初に DB スキーマを実行したい場合は、必ずそれを実行してください。

それは問題ではないので、あなたにとって最も快適なものを選択してください.

于 2013-02-10T01:31:22.533 に答える