問題タブ [code-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 投票する
4 に答える
5279 参照

entity-framework-4 - 最初にコードを使用して外部キーを構成する複合キーを作成するにはどうすればよいですか?

最初に EF4 コードを使用しており、クラス プロパティと外部キーで構成される複合キーを生成したいと考えています。Order と Company の 2 つのクラスがあります。Order クラスは参照を保持しますが、これは必ずしも企業間で一意であるとは限りません。そこで、Reference と Company.CompanyId で構成される複合キーを使用するつもりです。

以下を使用して設定しようとしましたが、「キー式が無効です」というエラー メッセージが表示されます。

私も試してみました

これは失敗します。

これらは私のクラスです:

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

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

.net - Code First CTP4: これら 2 つのエンティティをマップする方法

Team と Match という 2 つのエンティティがあるとします。各試合には、ホームチームとアウェイチームの 2 つのチームがあります。チームは多くの試合を持つことができますが、ホームチームとアウェイチームはそれぞれ 1 つのチームしか持つことができません。チームがホームチームである場合もあれば、同じチームがアウェイチームである場合もあります。各クラスの基本のみを提供しました。

これをどのようにマッピングできますか?試してみました (ICollection Matches を設定してマップしようとしましたが、HomeTeam と AwayTeam は同じ逆の関係 (そのようなもの) を持つことはできません)。

ありがとう。

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

.net - Code First で .Top() を使用する方法

これは Code First で可能ですか? Entity Framework のみを使用した場合、これを行うことができます。

0 投票する
6 に答える
14548 参照

entity-framework - Entity FrameworkCTP4-コードファーストカスタムデータベースイニシャライザー

カスタムデータベース初期化戦略を実装して、データベーススキーマを生成し、提供されたユーザーIDとパスワードを使用して既存の空のSQLデータベースに適用できるようにしたいと思います。

残念ながら、組み込みの戦略では、私が探しているものが提供されません。

私は次のことを解決しましたが、これではModelHashが作成されないため、「context.Database.ModelMatchesDatabase()」を使用してデータベーススキーマが作成されたことを検証し、複数の初期化を防ぐことができません。

質問:

モデルハッシュを取得/作成する方法を知っている人はいますか?(これはEdmMetadataエンティティです)

-または-

コードファーストCTPを使用してこれを一般的に行うためのより良い方法はありますか?

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

c# - EF4 Object State Managerは、複数のエントリが添付されていないのに添付されていると主張しています

ASP.NET MVCアプリに機能を追加して、データ構造の一部のフィールドを変更しようとしています。フォームの送信ボタンをクリックすると、次のアクションが呼び出されます。

メソッドは次のSaveDocument()ようになります。

ドキュメントが存在する(したがってId値を持っている)のでAttach()、汎用リポジトリのメソッドを呼び出します。attachメソッドは次のようになります。

オブジェクトセットのAttach()メソッドが呼び出されると、次の例外が発生します。

リクエストのライフサイクル全体でEFへの呼び出しが1回しかないことがわかるので、これがなぜ発生しているのかわかりません。これが最後のAttach(entity)呼び出しです。私は何かが足りないのですか?

参考までに、このシステムは以前は機能していましたが、壊れたように見えるのは、モデルファーストからPOCO(最新のCTP)を使用したコードファーストへの変換でした。このシナリオを除いて、他のすべての機能は以前と同じように機能します。

それが役立つ場合、私のジェネリックリポジトリは、コンテキストクラスで作成した関数を介してObjectSetから取得します。DbContext


編集: コメントのためにコードを見回した後、コンテキスト管理用にシングルトンを実装したことを思い出しました。これは、コントローラーが1つのサービスクラスからエンティティを取得し、別のサービスクラスを使用して更新する可能性があるためです(これは私が解決しようとしていたシナリオだったと思います。しばらく前に実装しました。 d仕事を辞めるときは、よく見る必要があります)。

シングルトンは複数のhttpリクエストにまたがらないという印象を持っていたので、これにシングルトンを使用しました。コメントから、それが問題になる可能性があると思います。家に帰ったらこれを見ます。

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

c# - TPT マッピング Entity Framework CTP4 は TPH のように動作します

提案どおりにコードを書いていますが、

... = 言及されたすべてのプロパティと u.Id の両方があります。

また、モデル ビルダーを使用する場合は、両方のプロパティ とプロパティがDbSet<A> A {get;set;}あります。DbSet<B> B {get;set;}ObjectSet

これにより、識別子列と Id、Astring、Bstring を含むテーブル A が作成されます。これはデフォルトの TPH マッピングです。なぜそうなるのかは不明です。ありがとう

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

.net - Code First CTP4: 主キーのないテーブル?

Entity Framework と Code First では、主キーのないテーブルを作成して使用することはできますか? このセットアップを機能させることができません:

ReportChanges で主キーの割り当てを除外したことに注意してください。しかし、このセットアップでは、「エンティティ タイプ 'ReportChanges ' のキーを推測できません」というメッセージが表示されます。

何か不足しているか、Code First が主キーのないテーブルをサポートしていません。何が正しいですか?ありがとう。

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

entity-framework-4 - データベースが EF4 コードのみで作成された後にモデルを変更する

ちょっと、英語が下手でごめんなさい... EF4コードのみを使用して、いくつかのPOCOクラスを作成し、そこからデータベースを生成しました。すべてうまくいきました。テーブルにいくつかのデータを挿入しましたが、クラスの 1 つで新しいプロパティを作成する必要があります。作成しただけでは、アプリケーションから例外が返されます: {"データベースが作成されてから、'TestContext' コンテキストをサポートするモデルが変更されました。データベースを手動で削除/更新するか、IDatabaseInitializer インスタンスで Database.SetInitializer を呼び出します。たとえば、RecreateDatabaseIfModelChanges 戦略は、データベースを自動的に削除して再作成し、オプションで新しいデータをシードします。"}

テーブルのフィールドを手動で作成しようとしましたが、まだ文句を言っています...誰かが方法があるかどうかを知っていますか?もしそうなら、どうすればデータベーススキーマを手動で更新できますか?モデルに一致するデータがありますか?

0 投票する
3 に答える
1094 参照

entity-framework - ICollection を非表示にすることはできますかEF4 コードのみで 1 対多のマッピングを行う場合のフィールド

1 対多のマッピングを持つドメイン クラスは、通常、次の形式をとります (テストされていないコード)。

私が見たEF4 コードのみのサンプルでは、​​1 対多の関係を処理するときにパブリック ICollection が公開されています。

コレクションを公開して保持および復元する方法はありますか? そうでない場合、私のドメイン オブジェクトは ORM の要件を満たすように設計されているように見えますが、これは努力の精神に反しているようです。ICollection を (Add などのメソッドを使用して) 公開することは、特にきれいに見えず、私のデフォルトのアプローチではありません。

アップデート

5月にはできなかったことを示唆するこの投稿を見つけました。もちろん、Microsoft のポスターは、「実装を強く検討している」と述べており (そうであることを願っています)、半年が経過しているので、何か進展があったのでしょうか?

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

.net - EntityFramework4.0への質問

NerdDinner(Poco Classesを使用)でScott GuのようなEFを使用している場合、データベースを作成するためのSQLを取得するにはどうすればよいですか(デザイナーを使用する場合は、プロジェクトでSQLを作成します)。

文字列がデータベースにvarchar(4000)として作成されるように変更することはできますか?

よろしくお願いします!

/ピーター