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

c# - EF 6コード最初の1列が作成されていません

私は EF 6 コードを使用しています。まず、モデルのプロパティに対して 1 つの列が作成されない理由がわかりません。

最初のクラスは次のとおりです。

そして、ここに2番目のクラスがあります:

EF は Traduction と Original の FK 列を作成しません。(Traduction テーブルには Original の FK 列は含まれず、その逆も同様です) が、他のすべての列と FK を完全に作成します。

関係を設定するために Fluent API を使用しています。自動規則に依存することと、次のように関係を明示的に構成することの両方を試みました。

しかし、列はまだ作成されていません。

ご協力ありがとうございました

アップデート

役に立つかどうかはわかりませんが、1 つ情報を追加したいと思います。私の Dbset はコンテキスト クラスで次のように定義されています。

「Originals」のフランス語複数形の場合は「Originaux」。ただし、EF によって作成されたテーブルの名前は「オリジナル」であり、DbSet の名前に従っていないことに気付きました。わかりませんが、おそらくそれが問題の原因である可能性があります。

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

entity-framework - Entity Framework - Fluent API 1 から 0.1 モデレータ / 人

移行で次のエラーが表示されます。

Person_EventModerator_Target: : 関係 'Person_EventModerator' のロール 'Person_EventModerator_Target' では多重度が無効です。依存ロール プロパティはキー プロパティではないため、依存ロールの多重度の上限は '*' である必要があります。

これが私のモデルです(注:基本エンティティはすべてのモデルの主キーを保持しています):

私のマッピング:

これは 1 対 0.1 の関係です。

誰でも私のエラーを指摘できますか?

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

entity-framework - Entity Framework Code First Fluent API 一対多

ProductRequests テーブルがあります。ProductRequestDepartments と 1 対 1 の関係があります。これは正しく機能します。ProductRequestDetails (ProductRequests の実際の製品 (1 つ以上) を持つ) をリンクしたい

Fluent API でこれを接続するにはどうすればよいですか。これまで試した

ProductRequests -> ProductRequestDepartments は正しく機能します (1 : 1) ProductRequests -> ProductRequestDetail は機能しません (1 : N)

私は得ています

モデル生成中に 1 つ以上の検証エラーが検出されました:" WP__ProductRequests_ProductRequestDetails_Source: : 関係 'WP__ProductRequests_ProductRequestDetails' のロール 'WP__ProductRequests_ProductRequestDetails_Source' で多重度が無効です。依存ロールはキー プロパティを参照するため、依存ロールの多重度の上限'1' でなければなりません。

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

c# - Code First でカスケードを削除 - 1 対 0 または 1

Itemsという名前のエンティティがあり、このテーブル キーItemIdへの外部キー(NOT NULLABLE)を持つエンティティがいくつかあります。

次に、 Itemsにも依存するSoldiersという名前の別のテーブルがありますが、この場合は(NULLABLE)外部キーです。

Itemsテーブルのアイテムを削除すると、 Soldiersテーブルに存在するアイテムに関するエラーが発生します。アイテムを持つ兵士がいない場合、エラーは発生せず、他のすべてのテーブルは正しくカスケード削除されます。

このテーブルでも削除をカスケードするには、Fluent API に何かを配置する必要があると思いますが、その方法がわかりません。

ありがとう

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

c# - 部分クラスを使用してエンティティ フレームワーク 5 エンティティを拡張し、既存の他のエンティティにマップする

このような質問が提起されたのを見たことがありません。そこで、EF 流暢な API 開発者と nopcommerce プラグイン開発者向けに作成しました。

これが私がやろうとしていることです:

製品エンティティがあり、データベースを生成するために EF で使用できます。元のクラスを変更せずに製品エンティティを拡張したい。それで、私は部分クラスを使用しようとしました。コードは次のようになります。

クラスを次のように拡張すると、次のようになります。

エラーがスローされます。

タイプ 'Nop.Core.Domain.Catalog.Product' とタイプ 'Nop.Core.Domain.Catalog.Product' は両方とも 'Product' という単純な名前を持っているため、同じモデルでは使用できません。特定のモデルのすべての型には、一意の単純名が必要です。'NotMappedAttribute' を使用するか、Code First fluent API で Ignore を呼び出して、モデルからプロパティまたは型を明示的に除外します。

私のマッピングファイルは次のようになります:

誰でも助けてもらえますか?

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

c# - レコードを結合/ルックアップ/リンク テーブルに挿入できない (EF/FluentAPI/MVC)

わかりましたので、私は現時点で少し立ち往生しています。EF、流暢な API などを使用して MVC アプリケーションを作成しましたが、現在、結合テーブルに新しいレコードを取得するのに問題があります。

DB テーブル構造

ユーザー
(pk)ID
ユーザー 名
passwordhash
など

DDRRole
(pk)ID
(fk)RoleId
(fk)DDRId

UserRole
(pk,fk)UserId
(pk,fk)DDRRoleId

ロール
(pk)ID 名

DDR
(pk) ID

クラス構造

テーブルのクラスは、列の小道具を持っていると予想されるものであり、たとえば、ユーザーには がありICollection<DDRRole> DDRRole、DDRRole にはICollection<User> User

これが流暢なAPI部分です(すべてではありませんが、結合テーブルを扱う部分です):

新しいユーザーを作成するときは問題ありませんが、新しいユーザーを作成するときに、そのユーザーに DDRRole (既にデータベースにある) を与えたいと考えています。 UserRole テーブル。私は流暢なAPIや他のものをどうするべきかについて、これについてたくさん検索しましたが、まだこれを機能させていません。

助けてくれてありがとう

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

c# - エンティティ フレームワークの Fluent API は基本クラスのプロパティを考慮しません

EF 6.1 :

多くの pf 継承を持つプロジェクトを開始したばかりです。選択された継承データベース マッピング タイプは、階層ごとのテーブルです。問題は、add-migration を使用して移行を生成しようとすると、次のエラーがスローされることです。

使用されるクラスと構成クラスは次のとおりです。

[ForeignKey] 属性を使用して、派生クラスのナビゲーション プロパティが親抽象クラスで定義された列を使用する必要があることを伝えられることはわかっています。DataAnnotations の使用は避けたいと考えています。なぜこのエラーがスローされるのかわかりません。「バージョン」ナビゲーション プロパティは、SER 構成ではなく AbstractR 構成で定義されています (SER は AbstractR から継承されているため、これも機能するはずです)。

次に、Version プロパティとマッピングを削除すると、SER マッピングで使用される「ChildId」および「ParentId」プロパティで同じ問題が発生します。これは既知の問題ですか?私は何か間違っていますか?

PS : ParentId マッピングは、ChildId マッピングと同じ問題と思われるため、簡単にするために削除されました。

なぜこの種の問題が起こっているのか、誰にも分かりますか?


アップデート

さらに調査した結果、Fluent API は基本クラスのプロパティをマッピングに使用できないことがわかりました。そうですか?これは望ましい動作ですか?DataAnnotations が Fluent API ではなく基本クラスのプロパティを使用できるのはなぜですか? すべての基本クラスのプロパティがすべてのクラス内に挿入されていませんか、それともある種のデコレータ パターンで読み取られていますか?