問題タブ [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.
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 エンティティの。)
c# - Entity Framework 6.1: 派生型における 1 対 1 および 1 多の関係と識別関係
更新:Id
on のプロパティNavigationPropertyClass
はデータベースで生成されたものではないことに注意してください。私の実際のモデルでNavigationPropertyClass
は、ここには表示されていない階層スキーム (TPH を使用) の一部でもありNavigationPropertyClass
、DerivedClass1
インスタンスとインスタンスのコレクションがありDerivedClass2
ますが、これは、元の基本クラスから継承するすべてのクラスに必ずしも当てはまるとは限りません。NavigationPropertyClass
導出されます。
私のモデルの一部は次のようになります (簡潔にするために他のプロパティとコンストラクターは省略されています)。
DerivedClass1
は と1 対 1 の関係にありNavigationPropertyClass
、DerivedClass2
とは多対 1 の関係にありNavigationPropertyClass
ます。
NavigationPropertyClass
のインスタンスがデータベースから削除されると、関連する のインスタンスと のインスタンスも削除されるDerivedClass1
ように、各派生クラスで識別関係を設定しようとしていますDerivedClass2
。これを設定する唯一の方法は TPT 継承を使用することですが、それでも正しく動作させることはできません。Fluent API の構成を投稿したいと思いますが、この時点で非常に多くの順列を試したので、どれを投稿すればよいかわかりません。
私がやろうとしていることをする方法はありますか?その場合、Fluent API 構成はどのように見えますか?
c# - カスタム列名による片側構成
クラスを適切にマップするための Fluent メソッドの適切な組み合わせを見つけるのに苦労しています。基本的に私がやろうとしていることは次のとおりです。
Person
クラスにはとAddress HomeAddress
プロパティAddress WorkAddress
がありますが、ID の整数プロパティはありません。
このクラスには、関連するエンティティAddress
のプロパティがありません。Person
このシナリオのオンラインでの例は見つかりません。適切な組み合わせが見つかりません。Code-first 構成は、常に私を混乱させる良い仕事をしてきました。
これは、私が見つけた例の 1 つに最も近いものですが、 を取得Invalid column name 'HomeAddressID'
しています。これは、おそらく関係の間違った側をマッピングしていることを示しています。
私は正しい軌道に乗っていますか?
c# - linq to entity を使用してネストされたクエリを作成する
私は次のクラスを持っています:
そしてこれらViewModels
:
linq to entity
query( Fluent API
) を作成して、その結果がs のリストを持ち、それぞれに s のリストが含まれていることA
によってオブジェクトを検索したいのですが 、次のクエリを作成しましたが、いくつかのエラーがあります。Id
AViewModel
BViewModel
BViewModel
CViewModels
どうやってやるの?
c# - Mvc、外部キー関係
私は Mvc (Country -> State -> City ) を使用しており、Fluent Api を使用して外部キー関係を作成したい場合、ここにモデルがあります。
今、私は UserContext クラスを作成して DbContext を定義し、Fluent api は誰でもこれらのエンティティ間の関係を作成する方法を教えてくれます
c# - EF Fluent API + 2 列の複合一意性 + 自動インクリメント主キー
Fluent API を使用しています。私は注釈が好きではありません。
すべてのテーブルで、常に自動インクリメントを主キーとして使用するのが好きです。
私のテーブルのいくつかでは、X と Y (X は自動インクリメント キーではなく、Y は自動インクリメント キーではありません) の 2 つの列が一意である必要があります。 Y1=Y2。自動インクリメント キーを使用していない場合は、次のように単純にこれら 2 つをキーにします。
しかし、(2)で述べたように、自動インクリメントの主キーを使用しています
/li>
Fluent API でこの複合的な一意性を実現するにはどうすればよいですか?
これは私が達成したいことであり、SQLで書かれています:
entity-framework - 0 対 1 の Entity Framework 流れるような API マッピング
私はEFを初めて使用します(基本的には始めたばかりです)。フォローに問題があります。製品を説明するテーブルがあるとしましょう。この製品 (タイプに基づく) は、いくつかの追加プロパティを持つことができます (この問い合わせの目的のために、2 つに制限します)。
つまり、実際には、製品と (紙と箔タイプ) の間の 0-1 の関係について話しているのです。
流暢な API を使用してそれを定義する方法は? 私は使用しようとしていました:
....