問題タブ [database-first]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
544 参照

c# - EF DB ファースト マッピングの混乱

この EF のちょっとした癖のせいで、私は苛立たしい状況に陥っています。これは、動作の簡単なデモです。最初に DB スキーマ:

ここに画像の説明を入力

ご覧のとおり、これは product の特殊なケースであり、特別なコードを使用しRestrictedProductてサブクラスを作成するつもりです。Product

次に、EF データ モデルにインポートします。

ここに画像の説明を入力

おっとっと!EF は、には 2 つのフィールド (両方とも FK) しかないことを確認したため、とRestrictedProductの間の 1 対多の関係としてマップしました。データベースに戻って にフィールドを追加すると、EF モデルの見栄えが大幅に向上します。ProductRestrictionDummyRestrictedProduct

ここに画像の説明を入力

しかし、そのDummy分野はばかげていて無意味です。たぶん私はそれを削除できますか?DB テーブルとエンティティ モデルからフィールドを吹き飛ばし、DB からモデルを更新します...

ここに画像の説明を入力

大野!Product-Restriction協会は新しい名前 ( ) で戻ってきましたRestrictedProduct1! さらに、コンパイルされません:

エラー 3034: 行 (x, y) で始まるフラグメントのマッピングに問題があります: キーが異なる可能性のある 2 つのエンティティが同じ行にマッピングされています。これら 2 つのマッピング フラグメントが、AssociationSet の両端を対応する列にマップしていることを確認します。

DummyフィールドをRestrictedProductテーブルに保持する以外に、この動作を防ぐ方法はありますか?

0 投票する
2 に答える
427 参照

c# - Entity Framework データベース ファーストで正しいモデルが作成されない

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

0 投票する
2 に答える
1585 参照

asp.net-mvc - 多対多の関係/エンティティフレームワークデータベースとMVC4インターネットアプリケーション

VS 2012およびエンティティ(5.0)フレームワークデータベースでMVC4インターネットアプリケーションを最初に使用します。

リレーションシップを使用してデータベースを作成しました。

ADO.NETエンティティデータモデルを作成します。すべての関係(1対1、1対多、多対多)を確認できます。

「エンティティフレームワークを使用した読み取り/書き込みアクションとビューを備えたmvcコントローラー」を使用してコントローラーとビューを作成したい。1対多および1対1で問題はありません。

多対多はどうですか?

0 投票する
1 に答える
573 参照

entity-framework - EFdbが最初でキーのないテーブル

私は最初にEntityFrameworkDBを使用して、巨大なデータベースのレポートWebサイトのラピッドプロトタイピングを実行しようとしています。問題は、テーブルの1つにキーがないことです。「エラー159:EntityTypeにキーが定義されていません」というメッセージが表示されました。モデルデザイナにキーを追加すると、「エラー3024:すべてのキープロパティのマッピングを指定する必要があります」というメッセージが表示されます。私の質問は、テーブルにキーを追加せずにこれを回避する方法があるかどうかです。テーブルは私たちの管理下にありません。

0 投票する
1 に答える
2742 参照

entity-framework - EFデータベース最初の多対多と追加のフィールド

今、これはおそらくばかげた問題ですが、それは私にかなりの頭痛の種を与えています。

私が達成しようとしているのは、EFがMM関係を持つ2つのオブジェクトを生成することです。 MaterialおよびProduct。製品には多くの材料があり、1つの材料が複数の製品に含まれている可能性があります。秘訣は、たとえば、材料を使用して測定できることですkg。1つの材料が製品にどのくらいのkgを保持するかを知る必要があります。注:材料は製品なしで存在でき、製品は材料なしでは存在できません。

これは私が思いついた最初のデザインですが、明らかに機能しません。

したがって、私の質問は、そのフィールドを適切に追加する方法QuantityOfMaterialInProductです。これがないと、DBContextツールがすべてを適切に生成するからです。

0 投票する
1 に答える
243 参照

c# - エンティティ フレームワーク データベースの最初のマッパーの問題

SQL Server 2008 R2 で VS2010 を使用しています。

私は、c# と Entity Framework の両方の完全な初心者です。

以下の例で私が抱えている問題は、特定のタブに関連付けられた質問を取得しようとすると、生成された SQL が正しくないことです。同じ名前の同じフィールドを参照する2つのテーブルにTab_ID外部キーがあるという事実と関係があると思いますか?

ただし、チェックシートに関連付けられたタブを取得しようとすると、生成された SQL は正しいです。私はすべてまったく同じことをしましたが、異なる結果が得られましたか?

どんな助けでも大歓迎です。

以下に、使用したメソッドと出力、および使用した DB リレーションシップ モデルとマッパーを添付します。

CheckSheets に関連付けられたタブ (期待どおりに動作)

SQL が生成されました

タブに関連する質問 (機能しません)

SQL PRODUCED - EXTENT 3 が問題であり、なぜそれが生成されるのかわかりません。

次のデータベースを作成しました: (画像を投稿する評判はまだ 10 ありませんが、リンクは以下にあります) http://imgur.com/3Jchhlb

次のようにテーブル用にマッパーを設定しました。

そして、私は次のようにクラスを設定しました:

*タブ構成

*質問の構成

*チェックシートの設定

基本クラス

0 投票する
1 に答える
273 参照

database - 切り離されたエンティティがエンティティフレームワーク5で正常に変更されるのはなぜですか?

私のコードはです。

私を助けてください、私は分離されたエンティティがデータベースで変更される理由を混乱させました

0 投票する
2 に答える
2398 参照

asp.net - Entity Framework Power Tools を使用して生成されたクラス名を変更する方法

みんなは、MS SQL Server データベースからデータを取得するためのリポジトリ パターンを既に使用している Asp.Net MVC プロジェクトに取り組んでいます。

私は現在、古いリポジトリ ロジックを乱すことなく、プロジェクトのいくつかの新しい特定の要件に Entity Framework を使用するつもりです。EF Power ツール ベータ 3 を使用し、Visual Studio からデータベース テーブルをリバース エンジニアリングしましたが、生成されたクラスは、データベース内の対応するテーブルと同じ名前を持つ既存のリポジトリ クラスの一部と競合し、プロジェクトをコンパイルできません。私はこのチュートリアルを見てきました

ただし、これは、テーブル名に「tbl」プレフィックスを追加し、生成されたクラス名を変更しないことを示しています。私自身は、テンプレートで生成されたクラス名を変更しようとしました(CodeTemplates\ReverseEngineerCodeFirstの下にありますが、それでも競合して生成されています.

私の質問は、意図した結果を達成するために何をすべきか(プロジェクト内の既存のクラスと競合しない)、または他の代替手段を完全に採用する必要がありますか? 助けてくれてありがとう。

0 投票する
2 に答える
3322 参照

c# - Entity Framework Databaseの最初の再生成により、手動での変更が失われます

MVC.NETでWebサイトを作成しています。

私は最初にデータベースを設計することを学ぶ古い学校のプログラマーなので、データベースファーストのアプローチを選びました。また、拡張子が。のファイルを作成する「コード生成」も使用しています.tt。私を悩ませているものを除いて、これまでのところすべてが機能しています。

古典的なシナリオ:

  • 1つのフィールドが欠落していることに気づきました
  • データベースにフィールドを追加します。
  • edmxに入り、データベースからモデルを更新することを選択します。

次に、コードに戻り、モデルフィールドの上に配置した特別なDisplayNameタグのように機能していたものが削除されました。

たとえば、私がこれを持っている場合:

になります

これは[AllowHtml]、前世代のモデルの後に追加されたためです。テーブルを更新し、生成後に追加したすべてのタグを削除しない方法はありますか?どうやってやるの?

現在、私はSVNでいくつかの復帰を行うことでこれを管理していますが、まもなく管理できなくなります。

ありがとう

0 投票する
1 に答える
550 参照

asp.net-mvc - 別のデータベースから MVC 3 の関連データを取得する

MVC と Entity Framework は初めてなので、複雑なデータ クエリを実行する際にかなりの問題が発生しました。データベース ファーストのアプローチを使用しています。関連するデータを別のデータベースからプルする最善の方法を理解する必要があります。データベースに接続し、edmx ファイルと既存のデータベースからのモデルを作成しました。問題の例を単純化します。従業員情報を含むテーブルが 1 つある場合:

次に、(別のデータベースに)2番目があります

これら 2 つを結び付けて、従業員の情報 (名前、住所など) をビューに表示するにはどうすればよいですか? 私の最初の考えは、結合を行い、それをビューに渡すことでした:

これに関する問題は、複数のモデルがビューに渡される ViewModel を既に使用していることです。ビューで次のようなものを使用して、一度に複数の従業員の情報を結び付ける機能が必要です。

ViewBag の使用の可能性は? または、データベース間で外部キーを関連付ける方法はありますか? これはデータベース ファーストであるため、edmx ファイルとモデル ファイルが生成されることに注意してください。ここでやろうとしていることの良い例を見つけることができませんでした。助けていただければ幸いです。必要に応じて詳細を提供できます。