問題タブ [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.
c# - EF4 Code-First ICollection を EntityCollection に変換するにはどうすればよいですか?
次のエンティティがあるとします。
データベースから Post オブジェクトを取得するときは、Comments
コレクションをに変換する必要があります。EntityCollection<T>
これにより、データが熱心に読み込まれたかどうかなど、コレクションに関する EF4 関連データを確認できます。
ICollection<T>
残念ながら、 からに直接キャストしようとすると、プロパティが であり、に変換できないEntityCollection<T>
ため、例外が発生します。Comments
System.Collections.Generic.List<T>
EntityCollection<T>
では、コード ファーストを使用する場合、コレクションに関する EF 情報を取得するにはどうすればよいでしょうか。
asp.net-mvc - EntityCollectionに追加すると、Entity Frameworkのコレクションの最後に追加されますか?
ユーザーが新しいビューに移動せずにコレクションにアイテムを追加できるビューを作成しようとしています(シナリオは、ユーザーが仕事の経験やスキルなどに関する情報を追加する一種のCVサイトです。新しいビューに移動してそれぞれの小さなものを追加するのはばかげているようです)。
そのため、すでに追加されたアイテムのテキストボックスの数を表示する編集ビューがあり、ユーザーがアイテムを追加した場合にコレクションを新しくフェッチするメソッドに移動するajax呼び出しがあります。
問題のメソッドは次のとおりです。
ここで質問になります。NewProgramメソッドが呼び出されると、Consultantオブジェクトに新しいプログラムが追加され、返送する新しいViewModelが作成されますが、新しいプログラムはEntityCollectionの最後ではなく最初に追加されます。ただし、フォーム全体を投稿し、編集ビューを再度開くと、リストは新しく追加されたプログラムを最後に配置します。これは非常に奇妙です。ユーザーはリストの最初にアイテムを追加したと思いますが、ページに戻ると、最後に新しいアイテムが見つかります。
なぜこれを行うのですか?NewProgram()に新しいプログラムを最後に直接追加させる方法はありますか?
そして、EFオブジェクトを直接操作するのではなく、DTOで「ViewModelを使用する必要がある」と考えている人がいる場合は、かなり長い間その道を進んでいます(EntityFrameworkとMVC3:関係を変更できませんでした) 1つ以上の外部キープロパティがnull不可であるため)、これまでのところ、これを実現し、同じビューでアイテムを追加および削除する方法を明示的に示した人は誰もいません。コレクションのインデックスの維持に問題があるか、EntityFrameworkで保存できません...そしてコードは悪夢になりました。
このようにして、少なくとも理解できるコードがあります。唯一のことは、この追加を「通常の」順序で実行する必要があることです。つまり、コレクションの最後に追加します...
何か案は?
ところで:
これは機能しますが、最初に新しいプログラムをConsultantオブジェクトに追加し、新しいプログラムなしでViewModelを作成してから、個別にViewModelに追加する必要はないようです...
c# - EntityFramework EntityCollection Observing CollectionChanged
私は最初にアプリケーションでEntityFrameworkデータベースを使用しています。どういうわけかEntityCollection
、ViewModelのの変更について通知を受け取りたいのですが。それは直接サポートしていませんINotifyCollectionChanged
(なぜ?)そして私は別の解決策を見つけることに成功していません。
これが私の最新の試みですが、ListChanged
イベントが発生していないように見えるため、機能しません。
誰かが私がどのように変化を観察することができるかについて何か考えを持っていますEntityCollection
か?
ダン
c# - EFEntityCollectionにバインドされたWinFormsDataGridViewを並べ替える方法
EntityCollection<T>
WinFormsDataGridViewをEntityFramework4オブジェクトからにバインドしようとしています。問題は、それを(自動的に)ソートする方法がわからないことです。
私がしているのは、BindingSourceのDataSourceプロパティをエンティティのコレクションに設定することだけです。
MyBindingSource.DataSource = CurrentItem.InvoiceNotes;
これに追加して機能させるための簡単な構成があることを本当に望んでいます。EFコレクションを新しいBindingListコンテナでラップする必要は本当にありません。
asp.net - LINQ to Entities:クエリの例
誰かがこのモデルからエンティティに対するLINQのユーザーのユーザーグループ関係を取得する方法を教えてもらえますか?
私はそのような方法で病棟の後にそれをループできるようにするためにリストを取得する必要があります:
方法に関するいくつかの例を提供できる場合のボーナスポイント:
- ユーザーIDに基づいてユーザーの役割権限「パス」を取得する
- IDに基づいてユーザーの役割を取得する
- 役割IDに基づいて、特定の役割のすべてのユーザーを取得します。これも役立ちます。
entity-framework-4 - Entity Frameworkで多対多のEntityCollectionを効率的に設定するにはどうすればよいですか?
Entity Frameworkは、多対多の関係テーブルに接続された2つのデータベーステーブル(たとえば、Table1とTable2)のObjectContextを生成する場合、外部参照テーブルのオブジェクトを作成せず、代わりに、関係。したがって、Table1にはがEntityCollection<Table2> Table2s
あり、Table2にはがありますEntityCollection<Table2> Table1s
。ほとんどの場合、それは実際にはかなり素晴らしいです...
ただし、このシナリオでは、Table1.Table2sコレクションに含まれるべきTable2行のデータベースIDを表す整数のリストがあります。
エンティティキーを使用してそのコレクションを設定する方法がわからないため、これらをObjectContextに選択することに固執しています。これは、理由もなく、すでに大量の作業を行っています。LINQ-to-Entitiesがインテリジェントに実行を延期し、SQLサーバー上ですべてを実行することを期待しています(ただし、WhereはContainsを使用しますが、SQLではIN()に正しく変換される場合とされない場合があります)。だから私はまで行くことができます:
しかし、もちろん拡張方法EntityCollection<T>.AddRange(IEnumerable<T>)
もありIEnumerable<T>.ToEntityCollection<T>()
ませんので、現時点ではこれらの結果をどうするかわかりません。私にできることは
これはばかげているようで、多くの不必要な評価を強いられることを私は知っています。
これを行うための「正しい」、またはおそらく「ラメの少ない」方法はありますか?
asp.net - エンティティへのLinq:コレクションクエリを機能させることができません
L2Eを使用してレコードのコレクションを取得するのに苦労しています。モデルビューは次のとおりです:http: //pascalc.nougen.com/stuffs/aspnet_linq_model2.png
TestCaseにリンクされている1つまたは複数のUserGroupに関連付けられているユーザー識別子があります。ユーザーIDXが関連付けられているすべてのグループのすべてのテストケースを取得したいと思います。
また、2つ(またはそれ以上)に関連付けられているユーザーのすべてのプロジェクトを取得できないことにも気付きました。
これが私がこれまでに行った方法です:
authenticationUserProjectsは、ユーザーが2つのプロジェクトにリンクされている1つのプロジェクトのみを返します。また、allTestcasesは結果を返しませんが、ユーザーが属する同じユーザーグループの1つに関連付けられたプロジェクトに関連付けられたTestCasesには約8つのエントリがあります。
ありがとう
c# - 単純なint[]を使用したIEnumerableAny()
簡単な質問:EF4EntityCollection内のエンティティのIDをループ内の単純なint[]と比較しています。私は次のようなことをしたいと思います:
配列内の値をEntityCollectionの値と比較する方法、つまり、上記で作成したvalueプロパティの代わりに実際に何を使用するかがわかりません。
c# - EntityCollections に関するこのコードを改善する方法?
これは私が確信していないコードです。エンティティ Collection をパラメーターとして渡す方法を確認してください。
そうでない場合は、エラーが発生します。このコードでこのように。
私が得ているエラーは以下の通りです:
InvalidOperationException が処理されませんでした。
オブジェクトを EntityCollection または EntityReference に追加できませんでした。ObjectContext にアタッチされているオブジェクトは、ソース オブジェクトに関連付けられていない EntityCollection または EntityReference に追加できません。
c# - EntityCollectionへのリスト
エントリクラスの複数選択リストボックスから選択したアイテムを追加しようとしています。
いくつかの調査の結果、このソリューションが機能することがわかりました。
しかし、それが最初の問題を解決したとしても、私は今、新しい問題を手に入れています。解決策が見つからないようです...エンティティを切り離そうとしましたが、うまくいきませんでした。
私が今得たエラーは次のとおりです。
このRelatedEndの所有者がnullの場合、要求された操作は許可されません。デフォルトのコンストラクターで作成されたRelatedEndオブジェクトは、シリアル化中のコンテナーとしてのみ使用する必要があります。
誰かがこの問題を経験したことがありますか?
ありがとう。