問題タブ [navigation-properties]
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.
c# - C#クラスにナビゲーションプロパティを実装する
それぞれに関連するc#クラスを持つ2つのエンティティがあります。テーブルAにナビゲーションプロパティを設定して、テーブルBの多くのアイテムへの参照を含めました。新しいテーブルAクラスオブジェクトを作成するときは、テーブルAにテーブルBオブジェクトのコレクションを作成できる必要があります。テーブルAc#クラスでナビゲーションプロパティを設定するにはどうすればよいですか?
データモデル: http://bluewolftech.com/mike/mike/datamodel.jpg
silverlight - データグリッドのナビゲーション プロパティ フィールド
データベース モデルのデータを表示するためのデータグリッドが必要な Silverlight プロジェクトがあります。簡単にするために、次のモデルを悪用します。
データ グリッドには、送信されたが承認されていない記事が表示されます。各「記事の提出」には、ナビゲーション プロパティからアクセスできる「作成者」があります。
「Article Submission」テーブルと「Author」テーブルの両方のフィールドを持つデータ グリッドが必要です。
したがって、私の「作成者」エンティティが「articleSubmissionDataSource」にロードされていると仮定します(そう思われます)。my binding path=Author.Name は、ナビゲーション プロパティを介して 'Author' エンティティにアクセスする正しい方法ですか?
ところで:「articleApplicationDataSource」は、このように「riaControl」によって xaml に設定されています。
また、ドメイン サービスの GetArticleSubmissions メソッドが「Author」ナビゲーション プロパティの有効な情報を返すことに気付きました。しかし、'LoadedDataEventArgs e' を調べると、'Author' ナビゲーション プロパティが null に設定されているようです。
これが私のドメインサービスのコードです
ArticleSubmission のメタデータ
お願い、お願い、助けて。私が投稿した大量のコードを理解できない場合は、エンティティとナビゲーション プロパティ エンティティを 1 か所にバインドする方法を説明している参考文献を参照してください。
また、コードが間違っている慣行に気付いた場合は、私に知らせてください。私はこれを書いていませんが、それを機能させるタスクを与えられています。私はシルバーライトが初めてです。
c# - Entity Framework - ナビゲーション パスでオブジェクトをスキップする
3 つの DB テーブルに基づく 3 つのエンティティがあります (関係の下のカーディナリティ)。
生徒のリストを取得し、そのスカラー プロパティを更新したいと考えていますGrade
。グレードは、生徒が出席するクラスの種類によって異なります。そのため、生徒ごとに ClassType も必要です。
これが私がすることです:
これに関する問題は、SchoolClass がコンテキストにロードされ、すべてのスカラー プロパティ (+ 外部キー ID) が入力されていることです。
瞳孔エンティティと ClassType エンティティの間のオブジェクトをスキップする方法はありますか? つまり、SchoolClass の ClassType ナビゲーション プロパティのみを読み込むには?
インクルードなしで希望する生徒数をロードすると 20 ミリ秒、インクルードありで 250 ミリ秒でした。これを最適化できるかどうか疑問に思っていますか?
entity-framework - アンロードされたナビゲーションプロパティを持つEF削除エンティティ
私はエンティティを持っています。Mandate
. すべての命令には、Person (NavigationProperty) に対する required:many 関係があります。(LazyLoadingEnabled、AutoDetectChangesEnabled、ValidateOnSaveEnabled、ProxyCreationEnabled) で DbContext API を使用します。
ここで、Mandate エンティティを削除したいと思います。委任エンティティは、別のコンテキストによってロードされますAsNoTracking()
。
コミット中に次の例外が発生します。Entities in 'CodeFirstContainer.Mandates' participate in the 'Mandate_Person' relationship. 0 related 'Mandate_Person_Target' were found. 1 'Mandate_Person_Target' is expected.
作成/選択中に Person プロパティを含めた場合、またはプロパティ (遅延読み込み) にアクセスした場合、削除は機能しますが、削除の場合にのみ多くのエンティティを具体化/保持するのは好きではなく、複数のクエリをトリガーするのは好きDELETE
ではありませんデシベルへ!
asp.net-mvc-3 - MVC3 モデルと複雑な関係
次のモデルがあるとします。
このアーキテクチャの問題点は、AnimalColor が技術的には Dog と Cat の両方のナビゲーション プロパティであることですが、その複雑さのために、AnimalColor と Color の関係などの「組み込み」機能を使用できなくなることです。
Dog と AnimalColor の関係には TypeId の条件があり、キー名 (DogId と ObjectId) が異なるため、ForeignKey が正しく機能しないことは言うまでもありません。
私の質問は次のとおりです。これを機能させる何かが完全に欠けていますか? そうでない場合、プロパティとして AnimalColors を使用して Dogs のリストを取得したい場合、この種の状況を処理する最良の方法は何ですか?
現在、これに対する唯一の解決策は、2 つのリストをプルして、Dogs をループするときに色を取得することです。もっとエレガントな方法があるはずです。
entity-framework - EntityDataSourceを使用して、GridViewのナビゲーションプロパティからすべてのアイテムを選択する
私はエンティティフレームワークに不慣れで、これを無駄に調査しました.....正しい質問をするのに十分な知識がないかもしれませんが。
user_ISNを主キーとするusersというテーブルがあります。ユーザーは他のユーザーの友達になることができるので、ユーザーのuser_ISNと友達のuser_ISNを保持するfriendsテーブルがあります。多対多の関係を作成します。エンティティフレームワークは、これをナビゲーションプロパティuser.friendsとの自己結合としてモデル化しており、もちろんユーザーテーブルに戻ります。
グリッドビューを使用して、現在ログインしているユーザーの友達のみを表示するASP.NetWebページを作成する必要があります。現在のユーザーのISNを保持するデータソースのパラメーターを作成しました。
現在のユーザーの友達であるユーザーだけを選択する方法がわかりませんでした。私が試みるすべては私が理解できない様々なエラーを私に与えます。私を正しい方向に向けてもらえますか?私は追加の調査を喜んで行いますが、何を検索すればよいのかさえわからないところにいます。
ありがとうございました。
c# - EntityFramework-含まれるナビゲーションプロパティの選択条件
これらの簡略化されたEF生成エンティティがあると仮定します...
ビジネスの論理:
注文には複数のPOを含めることができ、注文の個別のベンダーごとに1つずつあります(ベンダーはアイテムレベルで決定されます)。
子エンティティを選択的に含めるにはどうすればよいですか?
POを照会するときに、注文とアイテムの子エンティティを自動的に含めたいと思います。
Include()を使用してこれを実現します...
これは仕事であり、関連するエンティティをプルバックしますが、VendorIDがPurchaseOrderエンティティのVendorIDと一致するItemエンティティのみを含めたいと思います。
従来のSQLでは、それをJOIN条件に含めるだけですが、EFはそれらを内部で構築します。
エンティティ間にJOINを手動で作成せずに、条件を適用するようにEFに指示するために使用できるLINQマジックは何ですか?
c# - 既存のエンティティと親関係を持つ新しいエンティティを保存するには?
以下のコードを実行すると、例外が発生しました。
AssociationSet 'x' を更新するには、EntitySet 'x' の対応するエンティティが ObjectStateManager で利用可能である必要があります。
これが私のコードです。クライアントを Users エンティティセットに追加するかどうかに関係なく、エラーが発生します。
最初に新しいエンティティを保存してから、関係を追加して再度保存しようとしました。しかし、同じエラーメッセージが表示されます。:(
解決する!!!
私の問題は関連にあります。
ClientUser と AdminUser の間の両端で 0..1 の関係があります。
管理者 (0..1) < -- > クライアント (0..1)
そして、その管理者ユーザーを別の既存のクライアントに既に割り当てています。次に、新しいクライアントを作成してその管理者を割り当てようとすると、エラーが発生します。
以下のように関係を変更して修正しました
管理者 (0..1) < -- > クライアント (*)
c# - Entity Framework Navigation Propertiesの.Skip()。Take()は、SQLServerでSELECT*を実行しています
生成された部分クラスに次のようなメソッドがあります。
SQL Serverを見ると、生成されたコードが実行していることがわかります。SELECT *.* FROM Children
このコードはクラスから直接取得され、Skip/Takeの順序が.ToListの前であることを確認しました。
.ToListを削除すると、その行は高速になります(そして、SQLはDBに送信されません)がforeach
、結果を確認しようとすると、同じSQLがDBに送信されますSELECT *.* FROM Children
。
.Skipと.Takeを使用するときに、エンティティのナビゲーションプロパティを使用するときに特別なことをする必要がありますか?
アップデート
実際のSQLを生成しようとしますが、現在はそのように設定されていません。最初のものを見つけたのは、SSMSの「最近の高価なクエリ」リストに表示されているためです。
これを実行する:
〜4,000,000行を返し、〜25秒かかります。
これを実行する:
〜4,000,000行を返し、〜25秒かかります。
私が言ったように、私はこれらのために生成されたSQLをつかみ、それらも提起します。
.net - Entity Framework ナビゲーション プロパティ インターフェイスの型
エンティティ フレームワーク コード ファーストを使用してアプリケーションを作成しています。インターフェイス分離の原則に従いながら、EF の制限に関するいくつかの問題に直面しています。
問題は、プロセスとラインのプロパティが原因で、具象型のどのクラスを特定できないかです (私は推測します)。
抽象クラスを使用してほぼ同じことを達成できることを知っています。これを行っていない理由は、EF の制限のためにモデルを変更するのは間違っていると思うからです。
これを解決する最善の方法は何ですか?インターフェイスをナビゲーション プロパティとして許可する EF の代替。