問題タブ [entitycollection]
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.
sorting - EF4EntityCollectionを並べ替える最も簡単な方法は何ですか?
ItemsControl(xaml)にバインドされているEntityCollectionに並べ替えを追加したいと思います。また、できるだけ簡単にやりたいと思います。これは不可能のようです。
エンティティ内のコレクションプロパティの「ソートされた」バージョンでコレクションをラップすると、コレクション変更通知が失われます。エンティティコレクションのBindingListCollectionViewがなんらかの理由で並べ替えをサポートしていないため、CollectionViewSourceを使用できません(注:これを回避するための「ダーティ」ハックを含むブログ投稿を見たので、そのkthxで応答しないでください)。
これを実現するための簡単な(xamlの数行、コードの数行など)方法はありますか?
silverlight - RIA を使用してエンティティを EntityCollection に挿入する
1 対多の関係が設定されています。(例: 多くの電話番号を持つ人)。私のgetクエリthis.ObjectContext.Person.Include("PhoneNumbers")
では、生成されたMetaDataを含めpublic EntityCollection<PhoneNumbers> PhoneNumbers{ get; set; }
、これと必要なその他のプロパティでDTOを設定しました。
すべてのデータを正常に取得して Silverlight で表示できますが、新しいデータを作成すると問題が発生します。私はこの種のことが起こっています:
次に、呼び出し時にこのエラーが発生しますTDataSource.SubmitChanges();
。
Message = "送信操作の検証に失敗しました。詳細については、EntitiesInError 内の各エンティティの Entity.ValidationErrors を調べてください。"
わかりました、それで、確かにエラーがありますが、なぜそこにあるのかよくわかりません。私はそれを作成してentityCollectionに追加したときに設定しなかったlast_modified_byフィールドのデータベースにnull不可のフィールドを持っています。これが原因だと思いますが、私の質問はなぜRIAがそうしないのかそのフィールドをそこに設定したいので、作成したサービスで Insert メソッドを呼び出します。そのようです:
しかし、RIA が私のオブジェクトを追加し、独自の Insert メソッドを呼び出すようなものです。そのため、最初はそれを使用して、UI でプロパティを設定しただけで、次のエラーが発生しました。
Message = "送信操作に失敗しました。エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。内部例外メッセージ: IDENTITY_INSERT が OFF に設定されている場合、テーブル 'iset_trkr_writeback' の ID 列に明示的な値を挿入できません。"
私は ID フィールドを何も設定しませんでした。RIA がこれをやってくれると思っていました。しかし、デバッグして見てみると、値が 0 になっています。しかし、少なくとも今回は、サービスで挿入メソッドを呼び出します...プロセスに大きな何かが欠けているのかもしれませんが、本当に助けが必要です。ありがとう:)
entity-framework-4 - EntityCollectionのクエリ
クラスをデフォルトのEF方式でマップしましたが、すべてのFKはEntityCollectionであるため、たとえばBike.WheelsはEntityCollectionになります。
Wheelsを使用するにはどうすればよいですか?
- 1輪と2輪を回収したい
- Wheelsをループしたい
- 全輪駆動したいボルト
get / select/[]を使用できませんでした。
私は何かが足りないのですか?
entity-framework - Entity Framework - 関連する ICollection が HashSet に具体化される
プロジェクトで EntityFramework POCO + プロキシ + 遅延読み込みを使用しています。Transaction
今日、クラスの関連コレクションが(の代わりに) にRows
具体化されているのを見て、かなり驚きました。コレクションの変更を追跡する必要があります。HashSet
EntityCollection
EntityCollection
ただし、他のエンティティ クラスでは、関連するコレクションが に具体化されていEntityCollection
ます。
Transaction
through を読み込んObjectQuery
でいるので、コンテキスト内にあるはずです。オブジェクトのプロキシも作成されます。
Entity Framework は、HashSet と EntityCollection のどちらを使用するかをどのように決定するのでしょうか。HashSet になるのはなぜですか?
entity-framework - エンティティへのLinq-entitycollectionにwhere条件を持つエンティティを選択する方法は?
同じ質問をする人を何度か見つけましたが、(理論的には)かなり簡単なはずですが、答えは決して満足のいくものではなかったようです。これが私の質問です:
「Company」というエンティティがあり、その中にentityCollection「Employees」(1対多)があります。すべての会社を取得する必要があり、それぞれについて、21歳を超える年齢の従業員のみが必要です。
私は試した :
21を超える会社が少なくとも1つある場合は、各会社のすべての従業員が表示されるため、これは機能しません(実際には、.Any()と同じです)。
私は試した :
これも機能しませんでしたが(完璧だったと思いますが)、次のエラーが発生します。エンティティまたは複合型'MyModel.Company'をLINQtoEntitiesクエリで作成できません。
21歳以上の従業員だけですべての会社を選択するにはどうすればよいですか?現時点では、すべてを選択し、クライアント側で従業員をフィルタリングしていますが、そのソリューションは好きではありません。
誰かが私を助けることができますか?
Morteza Manavi-Parastに感謝します、それは仕事をします!
それでも、一意のクエリで実行することがEntityFrameworkに実装されていないことを私はほとんど確信していません。それはとても一般的な状況です...証明として、このフォーラムには私のような質問がたくさんあります。
私は驚いています...多分次のリリースのために?
明確にするために、クエリの結果をデータグリッドに直接バインドしているため、会社のリストが必要です。参考までに、データグリッドの行をクリックすると(会社を選択すると)、entityCollectionからの従業員(21歳以上)が入力された2番目のグリッドがあります。
c# - POCO DomainService および Client DomainContext EntityCollections にエンティティがありません
Group 型の ObservableCollection を持つ MainBusinessLine 型と、クエリ可能な MainBusinessLines のリストを返す DomainService から呼び出すメソッドがあります。したがって、このメソッドでは、適切なすべてのグループが MainBusinessLines Groups コレクションに追加されていることを確認しました。しかし、エンティティがクライアント Silverlight アプリケーションに読み込まれると、ほとんどすべてのエンティティが失われます。しかし、キッカーは、MainBusinessLine に別のコレクションがあり、クライアントの読み込み操作後に適切なエンティティがすべて含まれていることです。そして、私の関連付け属性も同じです。つまり、thisKey と otherKey のパラメーターが同様に設定されています。
EntityFramework を使用する代わりに、POCO クラスも作成しています。これが私の MainBusinessLine クラスのサンプルです。
LOB と Groups クラスは次のとおりです。
誰かが私がここで間違っているかもしれないことを教えてもらえますか? 関連属性を設定する方法と関係があると感じています。ありがとう
.net - キャンセルをクリックすると、EntityCollectionの変更を元に戻します
グリッドがentityCollectionにバインドされているwpfウィンドウがあります。ここでは、グリッドにレコードを追加/削除してから、キャンセルボタンをクリックします。エンティティコレクションに対して行われた変更を元に戻すにはどうすればよいですか。
c# - 「Contains」メソッドが false を返す
奇妙な問題があります。
要素を含むものがありますEntityCollection< T >
が、Contains メソッドは false を返します。
T の 'Equals' メソッドをオーバーライドしましたが、'Contains' メソッドはそれを呼び出しません (ドキュメントにはそう書かれています)。
するとforeach (T x in coll)
、x.Equals(element)
true が返されます。
助けてくれてありがとう。
コード:
私が実際に使いたいコードは
これは一度機能しましたが、wcf を使い始めたときに停止しました。
.net - EntityCollection にバインドされたときに新しいレコードを表示する Windows フォーム DataGridView を取得するにはどうすればよいですか?
実行時に新しいレコードを EntityCollection に追加し、DataGridView を新しい情報で更新しようとしています。
datagridview をエンティティ コレクション (つまり ObjectSet) に直接バインドし、同じコレクションにバインドされている BindingSource を介してバインドしようとしました。
DataGridView.Refresh()、DataGridView.EndEdit()、および BindSource.ResetBindings() などを試しましたが、何も機能していないようです。
c# - カスタム IEqualityComparer を介して 2 つの EntityCollections と交差する
この質問をあまり繰り返さないでください。しかし、私はすでに検索を行っており、結果は空でした。したがって、タイプ T の 2 つの EntityCollections があり、それぞれに共通の項目を見つけたいと考えています。キャッチ?1 つを除くすべてのフィールドが一致する必要があります。たとえば、タイプ T がタイプ CustomSet であり、CustomSet にフィールド F1、F2、F3 および FK フィールド OtherId が含まれている場合、F1、F2、および F3 は一致する必要があり (文字列、int、実際には何でもかまいません)、OtherId は決して一致しません。マッチ。私の現在の実装:
フィールド F1、F2、および F3 が一致する場合でも、OtherId 列が他のコレクションで一致することはないため、結果は得られません。そこで、次のような IEqualityComparer のカスタム実装を提案します。
今、私はこれをテストしているだけなので、渡される obj は CustomSet 型です。これを適切に機能させることができれば、他の型に必要な if ステートメントを追加します。Intersect 拡張機能は、Equals の代わりに GetHashCode を使用して項目を比較することを知っています。これが、EntityCollections の Intersect 拡張機能以外では、このクラスが呼び出されることはないため、equals の内容を本当に気にしない理由です。問題は、これは機能しないということです。私のテスト セットでは、「ソース」コレクションに 28 個のアイテムがあり、「宛先」コレクションに 28 個のアイテムがあり、すべてのフィールドが一致していることがわかります (もちろん、OtherId フィールドを除く)。GetHashCode コードは 56 回ループし、各セットの 28 アイテムすべてのハッシュ コードを一致させることができましたが、「交差」は 0 カウントでした。私が間違っていること、または欠けていることはありますか?ありがとう。}