問題タブ [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.

0 投票する
3 に答える
759 参照

entity-framework-4 - EF ナビゲーション プロパティのループの問題

現在、次のようなデータベースがあります

エンティティ フレームワーク 4.0 のデザイナーを使用して 2 つのテーブルを追加すると、両方のクラスでナビゲーション プロパティが取得されます。

現在、個人テーブルには約 300 万以上のレコードがあり、住所タイプには約 50 程度のレコードしかありません。誰かのステータスを更新し、何らかの理由で変更の保存を呼び出すと、更新に永遠に時間がかかります。コード実行の途中で一時停止してデバッグすると、FixupAddressStatusLookup というメソッドになります。ここで何が起こっているのか正確にはわかりませんが、同じ addressstatustype を持つ Person レコードのサブセットをループしているように見えます。それは私の最善の推測です。デザイナーで AddressStatusLookup クラスから Person ナビゲーション プロパティを削除すると、コードはすぐに実行されます。ここで何が起こっているのか、誰か説明できますか? AddressStatusLookup で Person へのナビゲーション プロパティを設定すると、このような遅延が発生するのはなぜですか?

ありがとう

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

.net - Windowsフォームのデータバインディングとプロパティパス:null可能性を処理する方法は?

Windows フォーム プロジェクトでMVVMパターンを使用してマスター/詳細シナリオを実装しようとしています (私は怒っています)。次のビュー モデルを検討してください。

次のコード (および Windows フォーム データバインディングでサポートされているプロパティ パス) を使用して、DetailViewModel の SubProperty を TextBox にバインドしようとしています。

SelectedDetailがnullになるまで(WPFのように)問題なく動作します(私のロジックでは、SelectedDetail nullはマスタービューで何も選択されていないことを意味します)。SelectedDetail が null の場合、ArgumentNullException (パラメータ名: コンポーネント) が発生しました。

「親」プロパティ (ナビゲーション パス内) の null 可能性を処理する方法はありますか?

例外スタックトレースは次のとおりです。

0 投票する
4 に答える
7118 参照

c# - エンティティへのナビゲーション プロパティであるフィールドによる並べ替え - Linq to Entity

EF モデル内のユーザー エンティティのナビゲーション プロパティである列で注文する必要があるシナリオがあります。

エンティティ: ユーザー --> 国 1:n の関係

単純な SQL クエリは次のようになります。

それで、次のようにLinq to Entitiesを使用して上記のSQLクエリを複製しようとしました-(遅延読み込みが有効になっています)

しかし、このクエリは、上記のネイティブ SQL クエリのように国名でソートされた国を返しません。

ただし、もう少し続けて、次のことを行いました。

しかし、enumeratedUser オブジェクトで約 50 レコードの順序付けを行うには、約 50 分かかりました。7秒

Enumerable を省略し、匿名型を返さずに行うより良い方法はありますか?

ありがとう

編集

EF プロバイダーは MS SQL ではなく MySQL であることを忘れていました。実際、MS SQL のレプリケートされたデータベースで同じクエリを試したところ、クエリは正常に機能しました。つまり、国名が正しく順序付けられているため、MySQL から結果セットを取得して順序を実行する以外に選択肢がないように見えます。列挙可能なオブジェクトのメモリから

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

.net - EF 4 ナビゲーション プロパティの質問

TableA に TableB への 2 つのリレーションシップ参照があり、TableB が主キーであるとします (TableA の FK 名として PrimaryBKey 列と SecondaryBKey 列があるとします)。だから私はエンティティを持っています:

EF が命名スキームをどのように導出するかについてのドキュメントはありますか? また、変更することはできますか? テーブルを再生成すると、リレーションシップの順序が変更されると開発者から言われました。つまり、もともとエンティティは次のようにマッピングされていたということです。

しかし、彼らはそれが後で次のように切り替えられたと言いました:

それは可能ですか?これを確認するための命名スキームに関するドキュメントがまったく見つかりません。

ありがとう。

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

silverlight - 複合キーを使用してエンティティのナビゲーション プロパティを更新するにはどうすればよいですか?

複合主キーを持つエンティティに対して WCF Data Services を使用すると問題が発生します。Silverlight 4 ビジネス アプリケーション テンプレートを使用しており、関連するテーブルのデータベースに対してエンティティ データ モデル (EDM) を作成し、Web プロジェクトでこの EDM 用の WCF データ サービスを作成しました。Silverlight プロジェクトには、WCF データ サービスへのサービス参照があります。これまでのところすべてのかなり標準的なもの:)

簡潔さとデバッグの容易さのために、これを次のような非常に単純なシナリオに絞り込みました。

  • Lookupテーブルには列IdとがありますData
  • Lookup2テーブルには列IdとがありますData
  • MyDataテーブルには、列、、、およびLookupIdがあります。 Lookup2IdSomeDateExtraData
    • LookupIdtable への外部キーLookupです。
    • Lookup2Idtable への外部キーLookup2です。
    • LookupIdLookup2Id、およびSomeDateは、テーブル の主キーを形成しますMyData

CollectionViewService次に、個別の を使用して、ルックアップ テーブルから個別の にデータをロードできますDataServiceCollectionCollectionViewSourceまた、メイン データを3 番目の を介して別のデータにロードしますDataServiceCollection。コントロールのItemsSourceプロパティについては、関連する にバインドしてから、そのプロパティを関連するナビゲーション プロパティにバインドします。これまでのところ、これはすべて正常に機能します。ComboBoxCollectionViewSourceSelectedItem

次に、を呼び出すハンドラーを含む [変更を保存] ボタンを追加します。フィールドの値を変更して[変更を保存] をクリックすると、変更は問題なく保存されます。ただし、ナビゲーション プロパティのいずれかの値を変更すると、次の呼び出し時に例外が発生します。ClickBeginSaveChangesExtraDataBeginSaveChanges

リクエスト ストリームの処理中にエラーが発生しました。プロパティ 'Lookup' の値を設定中にエラーが発生しました。値が正しいことを確認してください。

外部キーが複合キーの一部にならないように EDM をさらに単純化すると、変更を正常に保存できますが、実際のアプリケーションの複合キーはデータ モデルの重要な部分です。

私が間違っていることと、複合キーの一部を形成するナビゲーション プロパティを変更する方法について何か提案はありますか?

ありがとう、デレク。

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

asp.net - RadGridの列ナビゲーションプロパティの設定

RadGridに問題があります...aspxファイルでナビゲーションプロパティフィールドを使用してグリッドの列値を設定する方法を教えてください。

私はエンティティを使用しており、別のテーブル「ステージング」へのフィールドプロセスの外部キーを持つテーブルSapDocumentsを持っています。

現時点では、グリッドの値はnullになっています...

>>

これらの2つの列の値を、ナビゲーションプロパティの値で設定する必要があります。次のようにアクセスできます。

  • SapDocuments.Staging.Process;
  • SapDocuments.Priorities.Priority;

    /li>

背後にある私のコードはこれです:

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

c# - コードビハインドでナビゲーションプロパティの値を設定するにはどうすればよいですか?

と呼ばれるエンティティがCostあります。これには、次の必須プロパティがあります。CostType

このCostクラスにはGetNew()、Costのすべてのデフォルトを設定するメソッドがあります。

これLists.CostTypesは、起動時にEFから取得され、ComboBoxesで使用される静的リストです。

最初にメソッドでCostTypeを設定した後、コード内でCostTypeを設定する際に問題が発生しますGetNew()

たとえば、次のコードはExcelファイルを読み取り、Excelファイルの列に基づいてデフォルトのタイプを設定します。一致するものが見つからない場合はnullを設定します。

私の問題は、保存操作中に次のエラーが発生することです。

操作が失敗しました:1つ以上の外部キープロパティがnull許容でないため、関係を変更できませんでした。リレーションシップに変更が加えられると、関連する外部キープロパティがnull値に設定されます。外部キーがnull値をサポートしていない場合は、新しい関係を定義するか、外部キープロパティに別の非null値を割り当てるか、関連のないオブジェクトを削除する必要があります。

私の追加操作は次のようになります。

  • Excelファイルを読み取るときにコストを手動で設定するコード行を削除すると、保存は正常に機能します。
  • Lists.Costs [2]を読み取るようにコード行を変更すると、問題なく保存されます。
  • デフォルトを設定しているコード行を削除するとGetNew()、CostTypesのPKルールに違反しているというエラーが表示されます。これは、CostTypeを挿入しようとしていることを意味します。
  • Typeを表示しているComboBoxを別のものに変更しても、同じエラーが発生します。
  • Excelファイルからコストを読み込んだ後、タイプを変更して保存しようとすると、通常の追加/編集フォームで同じエラーがスローされます。Excelファイルを読み込まない場合は、正常に機能します。

私はまだEntityFrameworkを学んでいますが、これまでのところ、使用するのはフラストレーションと頭痛の種に過ぎません。誰かが私の問題が何であるか、そして私がそれをどのように修正できるか知っていますか?

編集

これがSlaumaから要求された情報です。私はそれをシンプルに保ち、無関係なオブジェクトを除外しています

  • CostsあるテーブルにありCostTypes、別のテーブルにあります。データベースでは、Costs.TypeId列をnullにすることはできず、への外部キーCostTypesです。両方のテーブルのIdフィールドは自動生成されます。

  • 私のEFモデルは、2つのデータベーステーブルが追加された一般的なモデルです。私が行った唯一の変更は、一部のフィールドの名前を変更し、CostTypes.CostsNavigationプロパティを削除することでした。

  • インポートされるExcelファイルは、ほとんどのコストを一致するものにマップしますがCostType.Name、Excelファイルの文字列がに一致しない可能性があるCostTypeため、Lists.CostTypes.FirstOrDefault(t => t.Name == row[0].ToString()) can assign aNULL value to theCost.Type property. That doesn't seem to be a problem though, because the form still comes up with the list of costs and their default selected items. Item's with aNULL CostType do not have an item selected in the CostTypeComboBox`を実行し、保存する前に修正する必要がある検証エラーをトリガーします。

CostTypeリストをロードするコードは次のとおりです。

ApplyOrderコードはここにあります

GetListメソッドはから呼び出されます

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

lambda - EF 4.1コードファースト:コレクションプロパティのカウントでエンティティを選択する方法

Tagという名前のナビゲーション プロパティ (コレクション) を持つエンティティがありますArticles。には、関連付けられたカウントを保存するために使用されるTag名前の無視されたプロパティがあります(実行時およびビューで使用するため-DBに対して無視されます)。見る:ArticleCountArticle

データベースに対する 1 つのクエリですべてTags (または 1 つ)を選択するにはどうすればよいですか?ArticleCount

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

entity-framework-4.1 - EF 4.1 コード ファースト: これらのエンティティを設計およびマップする方法は?

MemberAuthenticationToken、およびの3 つのエンティティがありEmailます。

  1. それぞれに多くのMember可能性があります AuthenticationTokens
  2. それぞれに1 つまたは 0AuthenticationTokenがある場合があります Email
  3. それぞれMember0 または 1 PrimaryEmailを持つ場合があります(Emails表から)。本当にこれPrimaryEmailAuthenticationTokens に関連付けられ たものの 1 つですEmail

ので、私は持っています:

上記で説明した設計では、Member と AuthenticationToken を追加できますが、E メールを Member または AuthenticationToken (またはその両方) に添付したい場合、次のエラーが発生します。

INSERT ステートメントが FOREIGN KEY 制約などと競合しました。

このデザインは正しいですか???目的を達成するためにテーブル (およびエンティティ) を設計するにはどうすればよいですか? また、エンティティをコード ファーストでマップするにはどうすればよいでしょうか。アイデアはありますか?

ここに画像の説明を入力