問題タブ [ef-fluent-api]

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 に答える
594 参照

entity-framework - Entity Framework Code First で 1..n の双方向関係を実装するにはどうすればよいですか

Code First を使用して Entity Framework で双方向の 1..n 関係を実装する方法を理解しようとして、私は完全に困惑しています。たとえば、チーム (Team エンティティで表される) には、コーチとマネージャー (両方とも Person エンティティで表される) がいます。したがって、私のチーム モデルは次のようになります。

次のように Person エンティティを実装することで、一方向ナビゲーションを実装できます。

流暢な API:

ただし、これにより、チーム エンティティから関連するコーチとマネージャー (どちらも Person のインスタンス) に移動できますが、コーチまたはマネージャーから関連するチームに直接移動することはできません。そこで、双方向ナビゲーションを実装するために、Person エンティティを次のように変更しました。

ビルドは問題ありませんが、データベースに保存しようとすると、次のランタイム エラーが発生します。

そこで、エンティティ間の順序を指定するために、次のように「WithRequiredPricipal」を追加して流暢な API を変更しようとしました。

ただし、パッケージ マネージャー コンソールで「add-migration」を実行しようとすると、次のエラーが発生します。

私が達成しようとしていることは単純な要件のように思えますが、まだ答えを見つけることなく解決策を探し続けてきました。流暢な API または注釈で何か不足していますか?

(チームには他にも多くの役割 (アシスタント コーチ、広報マネージャーなど) がある可能性があるため、コーチとマネージャーに別々のモデルを実装するなどの回避策を実装したくありません。それぞれを単にインスタンスにしたいです) Person エンティティの。)

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

c# - Entity Framework 6.1: 派生型における 1 対 1 および 1 多の関係と識別関係

更新:Id on のプロパティNavigationPropertyClassはデータベースで生成されたものではないことに注意してください。私の実際のモデルでNavigationPropertyClassは、ここには表示されていない階層スキーム (TPH を使用) の一部でもありNavigationPropertyClassDerivedClass1インスタンスとインスタンスのコレクションがありDerivedClass2ますが、これは、元の基本クラスから継承するすべてのクラスに必ずしも当てはまるとは限りません。NavigationPropertyClass導出されます。


私のモデルの一部は次のようになります (簡潔にするために他のプロパティとコンストラクターは省略されています)。

DerivedClass1は と1 対 1 の関係にありNavigationPropertyClassDerivedClass2とは多対 1 の関係にありNavigationPropertyClassます。

NavigationPropertyClassのインスタンスがデータベースから削除されると、関連する のインスタンスと のインスタンスも削除されるDerivedClass1ように、各派生クラスで識別関係を設定しようとしていますDerivedClass2。これを設定する唯一の方法は TPT 継承を使用することですが、それでも正しく動作させることはできません。Fluent API の構成を投稿したいと思いますが、この時点で非常に多くの順列を試したので、どれを投稿すればよいかわかりません。

私がやろうとしていることをする方法はありますか?その場合、Fluent API 構成はどのように見えますか?

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

c# - カスタム列名による片側構成

クラスを適切にマップするための Fluent メソッドの適切な組み合わせを見つけるのに苦労しています。基本的に私がやろうとしていることは次のとおりです。

PersonクラスにはとAddress HomeAddressプロパティAddress WorkAddressがありますが、ID の整数プロパティはありません。

このクラスには、関連するエンティティAddressのプロパティがありません。Person

このシナリオのオンラインでの例は見つかりません。適切な組み合わせが見つかりません。Code-first 構成は、常に私を混乱させる良い仕事をしてきました。

これは、私が見つけた例の 1 つに最も近いものですが、 を取得Invalid column name 'HomeAddressID'しています。これは、おそらく関係の間違った側をマッピングしていることを示しています。

私は正しい軌道に乗っていますか?

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

c# - linq to entity を使用してネストされたクエリを作成する

私は次のクラスを持っています:

そしてこれらViewModels

linq to entityquery( Fluent API) を作成して、その結果がs のリストを持ち、それぞれに s のリストが含まれていることAによってオブジェクトを検索したいのですが 、次のクエリを作成しましたが、いくつかのエラーがあります。IdAViewModelBViewModelBViewModelCViewModels

どうやってやるの?

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

c# - Mvc、外部キー関係

私は Mvc (Country -> State -> City ) を使用しており、Fluent Api を使用して外部キー関係を作成したい場合、ここにモデルがあります。

今、私は UserContext クラスを作成して DbContext を定義し、Fluent api は誰でもこれらのエンティティ間の関係を作成する方法を教えてくれます

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

c# - EF Fluent API + 2 列の複合一意性 + 自動インクリメント主キー

  1. Fluent API を使用しています。私は注釈が好きではありません。

  2. すべてのテーブルで、常に自動インクリメントを主キーとして使用するのが好きです。

  3. 私のテーブルのいくつかでは、X と Y (X は自動インクリメント キーではなく、Y は自動インクリメント キーではありません) の 2 つの列が一意である必要があります。 Y1=Y2。自動インクリメント キーを使用していない場合は、次のように単純にこれら 2 つをキーにします。

    しかし、(2)で述べたように、自動インクリメントの主キーを使用しています

    /li>

Fluent API でこの複合的な一意性を実現するにはどうすればよいですか?

これは私が達成したいことであり、SQLで書かれています:

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

entity-framework - 0 対 1 の Entity Framework 流れるような API マッピング

私はEFを初めて使用します(基本的には始めたばかりです)。フォローに問題があります。製品を説明するテーブルがあるとしましょう。この製品 (タイプに基づく) は、いくつかの追加プロパティを持つことができます (この問い合わせの目的のために、2 つに制限します)。

つまり、実際には、製品と (紙と箔タイプ) の間の 0-1 の関係について話しているのです。

流暢な API を使用してそれを定義する方法は? 私は使用しようとしていました:

....