これは、エンティティフレームワークである:ここでイーガーロード
var department = _context.Departments
.Include(dep => dep.Employees.Select(emp => emp.ContactTypes))
.SingleOrDefault(d => d.Id == departmentId);
私は1つの部門は、関連するすべての従業員と各従業員のためのすべてのコンタクトタイプを含む返されることを期待しています。私は見当がつかない
:
これはormlite servicestackです。 https://github.com/ServiceStack/ServiceStack.OrmLite
彼らは書く:私はドキュメンタリー/サンプルを見てみると
今の表現のサポートは強い型付けされたAPIで、最も単純なクエリを満たすことができます。より複雑なもの(テーブル結合を使用したクエリなど)では、以下のように未処理のSQLクエリに簡単に戻すことができます。
JoinSqlBuilderクラスがありますが、ネストされたコレクションを返すことはできません。
多分私が望むものはありえないかもしれませんが、たぶんdepartmentIdの全従業員を取得するような妥協をすることができます。次に、私は従業員を推測して特定の従業員IDのすべての連絡先タイプを取得します。階層を作成してリストを割り当てることは、私の仕事です。
しかし、私はより短い解決策があることを願っています。
Department、Employees、ContactTypesという3つのフラットプロパティを持つオブジェクト(Dynamic?)を返すようなクエリが表示される場合もありますが、私のDTOにthoeseプロパティを割り当てます。私が最初に使い始めたとき
@Voters皆さんはhttp://servicestack.uservoice.com/forums/176786-feature-requests/suggestions/4459040-enhance-ormlite-with-common-data-usage-patternsに行って投票してください最高の機能要求を上回ることができる以上に最大3票の投票を! – Pascal
@Voters既に賛成している人もいます:p – Pascal
コードをチェックすると、参照のロードと参照の保存がありますが、バージョン4の機能なので使用しません。 – kirie