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

entity-framework-4 - 最初のエンティティフレームワークコード-別のクラスのList<>を持つクラスを複数のテーブルにマップしますか?

私はEF4を評価していて、かなり基本的な質問があります...私は答えを見つけることができないようだと思います。

次の例を見てください。

次に、データベースに次のテーブルがあります

最初にEF4コードを使用してPersonクラスを2つのテーブルにマップできますか、またはPOCOの最初のコードを再構築して、質問クラスにidとpersonIdが含まれるようにすることはできますか?これは私がやりたいことではありません。

OnModelCreatingに何かを追加して、マップする必要があるときにクラスをマップできますか?

ありがとう!

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

c# - EF Code first CTP 5 の MapHierarchy() の代替

新しい CTP で次を設定するにはどうすればよいですか?

0 投票する
19 に答える
66224 参照

entity-framework - Entity Framework Code First の一意の制約

質問

流暢な構文または属性を使用して、プロパティに一意の制約を定義することは可能ですか? そうでない場合、回避策は何ですか?

主キーを持つユーザー クラスがありますが、電子メール アドレスも一意であることを確認したいと考えています。データベースを直接編集せずにこれは可能ですか?

解決策(マットの回答に基づく)

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

entity-framework - EF 4.1 Code First に添付エンティティを Modified として表示させる

私が見つけたすべての例は、CTP5 には存在しないように見える ObjectContext というクラスを参照しています。この時点で強調しなければならないのは、CTP5 が Entity Framework に初めて触れたことです。

DbContext にアタッチした切断された POCO があります。ただし、SaveChanges は変更を取得しません。そのエンティティを更新するようにコンテキストに指示するにはどうすればよいですか?

私は何を間違っていますか?

2011 年 12 月 1 日更新 ほとんどの人にとって明らかかもしれませんが、EF を初めて使用するユーザーとして、既にアタッチされているオブジェクトをアタッチすると以前の状態がクリアされるとは思いもしませんでした。これは私に多くの痛みを引き起こしました。しかし、オブジェクトが既にアタッチされているか、ASP.NET MVC バインディングの結果として新たに作成されたかを気にしない方法で、非常に一般的な方法でリポジトリ パターンを使用したかったのです。そのため、メソッドが必要だったので、UpdateUser以下に添付しました。

メソッドは明らかに、オブジェクトが何らかの形でデータ ストアに存在することを前提としていますUpdateUser。オブジェクトが既にアタッチされている場合は、オブジェクトの以前の状態を利用できるため、DB への最適化された更新が可能になります。ただし、オブジェクトがアタッチされていない場合、メソッドは全体を強制的にダーティにします。

今では明らかなようですが、以前はそうではありませんでした。それが誰かを助けることを願っています。

リッチ

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

c# - Entity Framework CTP コードの最初の列の名前付けと関係

新しい Entity Framework CTP5 コードの最初のビットを調べ始めたところです。

次の非常に単純なエンティティがあります。

したがって、アカウントには所有者 (ユーザー) があり、多くのユーザーを持つことができます。これらの関係は、DB 内のAccountsテーブルとテーブルに変換されます。Users

Users テーブルには 2 つの列がAccountIdありAccountId1、これらの列に生成された名前を制御する方法はありますか。また、実際にはテーブルにプロパティのUserId列があると予想されますが、代わりに参照がテーブルにあるようです。すべてのキーを持っていないのは本当にいいことです:)AccountOwnerAccountsUsersAccountId...n

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

c# - EntityFrameworkCodeの最初のCTP5マッピング

EFCTP5を新しいプロジェクトに実装し始めたところです。この場合、データベースの命名規則があいまいなため、すべてのデータベースフィールドの名前はPOCOプロパティとは異なります。これをマッピングする最良の方法は、OnModelCreatingをオーバーライドして、次のようなコードを作成することです。

これは非常に速く非常に大きくなるでしょう、それは本当にこれを行うための最良の方法ですか?

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

entity-framework - EF Code First を使用した SQLite

NHibernate で SQLite を使用して成功した後、Entity Framework Code First でのテストに SQLite を使用できることを非常にうれしく思います。

いくつかの接続文字列の例とデモのセットアップがあれば、それは素晴らしいことであり、忙しい一日から少し時間を節約できます.

どうもありがとう。

編集:

EFの「データコンテキスト」を介してcrudアクションを適用すると、デバッグ中にこのエラーが発生することに注意してください。

タイプ 'System.Data.SQLite.SQLiteConnection' の接続のプロバイダー名を特定できません。

うまくいけば、EF はこの方法で SQLite と統合されます。エラーメッセージは、驚くべきことに、おそらくそうではないことを示唆していますが.

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

entity-framework - Entity Framework CTP 5 - Code First Mappings - 列挙リストを正しくマップできない

私は次のものを持っています

そして、EFを使用したコードファーストアプローチを使用してテーブルにマップします

ご覧のとおり、複雑なマッピングは実行していませんが、AnimalType 列挙のリストは、DB 内の列/テーブルに自動的にマップされませんでした。列挙リストのマッピングを制御するには、モデル ビルダーにコードを追加する必要がありますか?

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

c# - EFCTPコードファースト「Foo」の型初期化子が例外をスローしました

ファイルが既に存在します。別のデータベース名を使用してみてください。[ファイル名=F:\ foo.sdf]

これは正しく使用すると起こりませんthis.Database.CreateIfNotExists()か?

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

entity-framework - CTP5の重要と思われる属性へのアクセスがありません

RelatedTo(およびそのことについてはKey)のような属性が必要ですが、それらが見つからないようです。ドキュメントはまだ非常にまばらです。これらの属性を取得するためにどこに行くべきかについてのアイデア。