問題タブ [ef-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.
entity-framework-4 - コードファースト:ソースクラス/テーブルがターゲットクラスでもある多対多の関係を作成するにはどうすればよいですか?
コードファーストを使用して、ソースクラスがターゲットクラスでもある多対多の関係を作成する方法の例を誰かが投稿できますか?
何かのようなもの:
おもちゃ*<----->*おもちゃ
ありがとうございました。
ヌーノ・エスピーカ
entity-framework-4 - EF CPT5 によるドメイン モデリングとマッピング
写真のコレクションを含むアルバムをモデル化しようとしています。各アルバムには、写真のコレクションと、親指である写真が含まれます。これは私が持っているものですが、EF は気に入らないようです。私はEF CPT5を使用しています
モデル:
マッピング コード:
環境
データベースファクトリー
これを正しくモデリングおよびマッピングしていますか? サムネイルを指定せずに新しいアルバムを作成できるようにする必要があります。今のところ、サムネイルを追加しようとするまではすべて機能しますが、次のエラーが発生します。
System.Data.UpdateException: 依存する操作の有効な順序を判断できません。外部キーの制約、モデルの要件、またはストアで生成された値が原因で、依存関係が存在する場合があります。
System.Data.Mapping.Update.Internal.UpdateTranslator.DependencyOrderingError (IEnumerable`1 の残り) で System.Data.Mapping.Update.Internal.UpdateTranslator.ProduceCommands() で System.Data.Mapping.Update.Internal.UpdateTranslator.Update Database.cs の PostHope.Infrastructure.DataAccess.Database.Commit() の System.Data.Objects.ObjectContext.SaveChanges(SaveOptions オプション) の (IEntityStateManager stateManager、IEntityAdapter アダプター): PostHope.Infrastructure.DataAccess.IntegrationTests.BuildDatabase の 74 行目BuildDatabase.cs の .Add_test_data_to_database(): 252 行目
どんな助けでも素晴らしいでしょう!
c# - Table per Hierarchy (TPH) マッピングで共通の列名を共有する方法
私は Entity Framework 4 CTP5 コードの最初のアプローチを使用しており、階層ごとのテーブル (TPH) マッピングを使用しています。階層内のいくつかのクラスには、共通のプロパティがあります。
デフォルトの規則では、これを次の列にマップします。
- ID
- 第1条
- 第2条
- 顧客1
- 顧客2
- メーカー
- 注文
- タイプ
EF4 で共通のプロパティを共有して、最終的に次のようにしたいと考えています。
- ID
- 論文
- お客様
- メーカー
- 注文
- タイプ
列数の削減とは別に、これには、たとえば Article に基づいてレコードを検索できるという利点があります。どのタイプが Article プロパティを正確に持っているかを知る必要はありません。
各共通プロパティを同じ列にマッピングしてみました:
しかし、これは次の例外をスローしました:
指定されたスキーマは無効です。エラー: (36,6): エラー 0019: 型の各プロパティ名は一意である必要があります。プロパティ名 'Article' は既に定義されています。
この検証ルールを回避する方法を知っている人はいますか?
.net - メンバーシップロールのユーザーに最初に結び付けられたEF4コード
最初にコードで遊んで、特定のアイテムに関連するユーザーの状態を追跡したい。例を考案するために、私が持っているとしましょう
MembershipUserを魔法で直接使用しますか、それとも次のようなものを作成しますか
c# - EF4 Code First CTP5: Seed メソッドが機能しなくなった
私は EF Code First CTP4 を正常に動作させ、今日 CTP5 をインストールしました。現在、データベースが再作成されると例外が発生します。
これが私のモデルです:
Global.asax.cs で呼び出されているコードは次のとおりです。
コンテキストで SaveChanges にヒットすると、次の例外が発生します。
競合する変更が検出されました。これは、同じキーを持つ複数のエンティティを挿入しようとしたときに発生することがあります。
説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.Data.UpdateException: 競合する変更が検出されました。これは、同じキーを持つ複数のエンティティを挿入しようとしたときに発生することがあります。
何が変わったのか、なぜこれが機能しなくなったのか、誰にも分かりませんか? これを機能させるには、何を変更する必要がありますか?
c# - Entity Framework Code First 命名規則 - 複数のテーブル名に戻る?
最初にエンティティ フレームワークのコードを試してみました。命名規則に従って、ツールに介入する必要がないように、テーブルに複数形の名前を付ける必要があります。マッピングをオーバーライドできることはわかっています。私の質問は、単数形の命名規則に従って何年も経った後、複数形の名前を使用することに戻るのでしょうか?
また、なぜ新しい例で Adventure Works ではなく Northwind を使用しているのか疑問に思っていました。その理由は、AW が単数形のネーミングを使用しており、ノーコード機能を誇示することができないためだと考えています。
c# - Entity Framework CTP コードの最初の列の名前付けと関係
新しい Entity Framework CTP5 コードの最初のビットを調べ始めたところです。
次の非常に単純なエンティティがあります。
したがって、アカウントには所有者 (ユーザー) があり、多くのユーザーを持つことができます。これらの関係は、DB 内のAccounts
テーブルとテーブルに変換されます。Users
Users テーブルには 2 つの列がAccountId
ありAccountId1
、これらの列に生成された名前を制御する方法はありますか。また、実際にはテーブルにプロパティのUserId
列があると予想されますが、代わりに参照がテーブルにあるようです。すべてのキーを持っていないのは本当にいいことです:)AccountOwner
Accounts
Users
AccountId...n
c# - Entity Framework で同じタイプの 2 つのナビゲーション プロパティを設定するにはどうすればよいですか
コード最初の EF4 (CTP5 を使用) を使用すると、外部キーと共に単一のナビゲーション プロパティを追加できます。これにより、名前付けが尊重され、外部キーがテーブルに 1 回だけ追加されます。次に、同じタイプの 2 つ目のプロパティを追加すると、テーブルの 2 列ではなく 4 列に分割されます。
サンプルコード:
このモデルでは、PressTypeID という名前の PressType の AdapterFrameCapability テーブルに 1 つのプロパティが追加されます。
これは私がモデル化したい設定ですが、テーブルに 4 つの列が作成され、それぞれ FromPressTypeID、FromPressTypeFromPressTypeID、ToPressTypeID、および ToPressTypePressTypeID の列が作成されます。理想的には、FromPressTypeID と ToPressTypeID の列が必要です。ここで何が間違っていますか?
entity-framework - スタブ エンティティによる Entity Framework Code First Update
EF Code-First で、スタブ オブジェクトを使用して db の行全体をクエリせずに更新することは可能ですか...
例えば
上記のコードは、DinnerID 1 の行に対して次の列を null にする Update ステートメントを作成しますか?
タイトル、EventDate、住所、国
"PropertyModified" = true のような方法またはメソッドはありますか?残りはそれらを = false にして、HostedBy だけが更新されるようにしますか?
c# - コードファーストCTP5を使用してEF4で列を複合型にマップするにはどうすればよいですか?
Entity Framework 4でプロパティがサポートされていないことに出くわしたのでenum
、回避策を説明する次の記事を見つけました。
OrderStatusWrapper
デザイナではなくコードで (記事で説明されているように)へのデータベース列のマッピングを表現するにはどうすればよいですか?
アップデート:
提供された回答に基づいて、OrderStatus
列挙OrderStatusWrapper
型を型に置き換える必要があることに気づきませんでした。
それ以外の:
私は使用する必要があります:
ただし、次のコードを実行すると、次のようになります。
次の例外が発生します (簡潔にするためにトリミングされています)。
データベース列の名前はStatus
です。Status
プロパティを次のように装飾してみました:
[Column("Status")]
それから
[Column("Status"), TypeName("OrderStatus")]
と
[Column("Status"), TypeName("OrderStatusWrapper")]
しかし、これはこの例外を解決しません。
Column
また、属性を削除してこれを実行しようとしました:
しかし、次のコンパイル エラーが発生します。
エラー 1 型 'ConsoleApplication1.OrderStatusWrapper' は、ジェネリック型またはメソッド 'System.Data.Entity.ModelConfiguration.Configuration.Types.StructuralTypeConfiguration.Property( System.Linq.Expressions.Expression>)' [切り取ったパス]