問題タブ [entity-framework-ctp5]

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 投票する
1 に答える
925 参照

c#-4.0 - Entity Framework 4 - 「IS NULL」識別子を使用した機能 CTP5 (コードが最初) の TPH 継承

こんにちは、識別句が古典的な「IS NOT NULL」/「IS NULL」ケースである階層にTPHマッピングを作成しようとしています。

データベースに関する例を次に示します。

アイデアは、次のようなクラス階層を持つことです。

このスキーマを従来の xml モデルで "機能" させましたが、コード ファーストのアプローチを使用して機能させる方法を実際に見つけることができません。これは私が試したことです...

何か提案はありますか?

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

entity-framework-4 - Entity Framework 4 - 機能の TPT 継承 CTP5 (コードが最初): 継承されたテーブルの外部キー列の名前を変更する

XML Entity Framework モデルを Code First (CTP5) モデルに変換しようとしています。TPT パターンに非常によく適合する階層をモデル化する必要があります。私が持っている唯一の問題は、「継承」テーブルの主キー/外部キーが基本クラスの主キーとは異なる名前であることです。

これらは、関連するテーブルの関連フィールドです

これは、モデルを構築するときに使用するコードです

これが生成されたSQLです

ご覧のとおり、存在しない site.MainSites.Id と site.SisterSites.Id を探します。私も次のようなことを試しました

しかし、ご想像のとおり、うまくいきませんでした。

なにか提案を?

前もって感謝します

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

code-first - Code First と親子の参照

Code First CTP 5 を使用しています。親テーブルと子テーブルの間の設定はかなり単純です。

Code First を使用してこれらのテーブルを参照するには、次の構造を使用します。

testa にレコードを追加しようとすると、「IDENTITY_INSERT が OFF に設定されている場合、テーブル 'testA' の ID 列に明示的な値を挿入できません。」というエラーが表示されます。

Ok。Id が ID 列であることを認識していないため、Code First に 1 を打ちます。これを修正できるので、CodeFirst に testa.id が ID であることを伝えます。

それをもう一度実行すると、別のエラーが表示されます。では、この写真のどこが悪いのでしょうか?

私は何を間違っていますか、どうすれば修正できますか???

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

.net - Entity Framework コードで DbUpdateConcurrencyException を無視するにはどうすればよいですか?

行数を気にしないように EF に指示する方法はありますDELETEUPDATE?

データベースから行を削除しようとしていますが、行が存在しないため、EF は例外をスローします: DbUpdateConcurrencyException.. 0 行が影響を受けたと言っています。これは正しいです -> 行は削除されませんでした。しかし、それはまったく問題ありません..データがないからです。

その行が存在するかどうかを確認するためにDBへのラウンドトリップを実際に行いたくありません..存在する場合は..それを試して削除します。

ブロック内の例外を飲み込もうとすると、try / catch削除しようとしている残りのアイテムがデータベースに送信されませんSaveChanges()...これは悪いことです。

例えば。

それだけです..削除しようとしているレコード2または3を示すトレースはありません..例外がすべてを停止するため:(

何か案は?

アップデート

どのように機能しDeleteますか?コードは次のとおりです...(簡略化され、厳密に型指定されています)

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

entity-framework-4 - 多対多の関係でリンク テーブルを作成する

私はEF4 CTP5を理解しようとしています。Member と MemberGroup という多対多の関係を持つ 2 つのクラスがあります。CTP5 コード 最初に 2 つのテーブル (Member と MemberGroups) が生成され、2 つの列 (MemberGroupId と MemberId) を持つ MemberGroupMembers という名前の 3 番目のテーブルも生成されました。いくつかのメンバーとメンバー グループを使用してデータベースをシードしました。問題は、メンバーに 1 つ以上の MemberGroups を割り当てる方法が見つからないことです。これにより、メンバーが割り当てられている各 MemberGroup の MemberGroupMembers テーブルに行が挿入されます。

私がここで何をしようとしているのかが明確になり、誰かがこれを達成する方法の例を教えてくれることを願っています.

よろしく、エルウィン

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

entity-framework - EF 4CTP5複雑なクエリ

私は次のようなモデルを持っています:

私はこのインフラストラクチャを使用しています。

私の総体的なルーツは、顧客、注文、製品です。マッピングは単純なので、ここには含めませんでした。

LINQを使用して、「飲料」カテゴリの製品を注文したすべての顧客をどのように選択しますか?

私がWebで見たすべてのサンプルは、非常に基本的なクエリであり、高度なものではありません。

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

entity-framework - Entity Framework CTP5 Code First - 非主キーでエンティティ分割を行うことは可能ですか?

EF CTP5 を使用して、エンティティが 2 つの個別のテーブルから構築されるエンティティ分割を実行しようとしています。2 つのテーブルのキーが主キーでない場合、この分割を行うことは可能ですか?

たとえば、Id は Note エンティティの主キーです。CreatedUser の詳細を別のテーブルから取得したいのですが、この 2 番目のテーブルの主キーは Note エンティティの CreatedUserId に対応しています。

エンティティの主キーが両方のテーブルに存在する場合にのみ、エンティティの分割が可能であるというコメントを見たことがありますか?

前もって感謝します。

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

entity-framework - Code First CTP5 多対多バインディング

私は、Entity Framework に対して Code First アプローチを使用してきました。Event クラス、Band クラス、および多対多の関係をマップする EventBands クラスがあります。Code First のアプローチは (EventBands クラスを持っていなかったとき) うまくいきましたが、多対多のテーブルに追加の値を格納することにしました。今、私はこのエラーメッセージを受け取ります:

System.Data.Edm.EdmEntityType: : EntityType 'EventBands' にはキーが定義されていません。この EntityType のキーを定義します。

System.Data.Edm.EdmEntitySet: EntityType: EntitySet EventBands は、キーが定義されていない型 EventBands に基づいています。

エラーメッセージの意味は明らかです。ただし、解像度はそれほど明白ではありません。モデル バインディング メソッドをオーバーライドする必要があると思いますが、このアプローチでキーをマップする方法が完全にはわかりません。

問題のクラスを以下に含めました。

前もって感謝します、

ジョン

イベント:

バンド:

イベントバンド

BandUserId は User 基本クラスから継承されます。

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

c# - CTP5更新カスケード

CTP5の追加または更新パターンが必要です。モデルを想定すると:

新しいユーザーを追加すると、対応するアドレステーブルにもデータが入力されます。ただし、ユーザーがすでにDBにいる場合は、DbUpdateExceptionが発生します。この場合、データベース内のデータを新しいデータで更新する必要があります。これどうやってするの?

データベース内のデータ

テーブルアドレス

AddressIDの場所

1ジョンプレイス

2 MaryPlace

3ジミープレイス

更新したユーザーは、Addressesコレクション1にAddressId:2、Location=GeorgePlaceのアイテムがあります。ただし、ID = 2の場合、Dbには、location=MarryPlaceのレコードがすでに存在します。GeorgePlaceにMarryPlaceを上書きしてほしい。

ユーザーに割り当てられていないアドレスを持つことはできません

私は次のようなユーザーを作成します:

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

entity-framework - テーブルへのインデックスの追加

私はテーブルを持っていますPerson:id, name

次のようなクエリがよくあります。

2 つの質問があります。

  1. コード ファースト 5 (CTP5) を使用してこのクエリを実装するにはどうすればよいですか
  2. 名前列にインデックスを追加して、クエリのように名前に基づいてデータ取得を高速化するにはどうすればよいですか?