2

現在、LLBLGenに2つのエンティティがあり、2つのテーブルが内部結合で結合されるのと同じ方法で、それらをマージしてテーブルに出力し、DevExpressGridControlで使用したいと考えています。

LLBLGenでこれを行う方法を知っている人はいますか?

4

2 に答える 2

3

LLBLGen 2.6を使用している場合は、LINQを使用して、LLBLGenLINQプロバイダーを使用して出力をフラット化できます。

途中で何か(擬似コード)

var flat = from x in db.entitiesa()
           from y in db.entitiesb()
           select new { x.Name, y.Address }

変数「flat」をグリッドコントロールにスローするだけです。

于 2009-08-26T18:40:50.200 に答える
2

次に、代替案は動的リストを作成することです(以下のコードはヘルプファイルからのものです)-残念ながら非常に冗長です。

DataAccessAdapter adapter = new DataAccessAdapter();
ResultsetFields fields = new ResultsetFields(3);
fields.DefineField(EmployeeFields.FirstName, 0, "FirstNameManager", "Manager");
fields.DefineField(EmployeeFields.LastName, 1, "LastNameManager", "Manager");
fields.DefineField(EmployeeFields.LastName, 2, "AmountEmployees", "Employee", AggregateFunction.Count);
IRelationPredicateBucket bucket = new RelationPredicateBucket();
bucket.Relations.Add(EmployeeEntity.Relations.EmployeeEntityUsingEmployeeId, "Employee", "Manager", JoinHint.None);

IGroupByCollection groupByClause = new GroupByCollection();
groupByClause.Add(fields[0]);
groupByClause.Add(fields[1]);
DataTable dynamicList = new DataTable();
adapter.FetchTypedList(fields, dynamicList, bucket, 0, null, true, groupByClause);
于 2009-08-26T19:21:01.367 に答える