現在、LLBLGenに2つのエンティティがあり、2つのテーブルが内部結合で結合されるのと同じ方法で、それらをマージしてテーブルに出力し、DevExpressGridControlで使用したいと考えています。
LLBLGenでこれを行う方法を知っている人はいますか?
現在、LLBLGenに2つのエンティティがあり、2つのテーブルが内部結合で結合されるのと同じ方法で、それらをマージしてテーブルに出力し、DevExpressGridControlで使用したいと考えています。
LLBLGenでこれを行う方法を知っている人はいますか?
LLBLGen 2.6を使用している場合は、LINQを使用して、LLBLGenLINQプロバイダーを使用して出力をフラット化できます。
途中で何か(擬似コード)
var flat = from x in db.entitiesa()
from y in db.entitiesb()
select new { x.Name, y.Address }
変数「flat」をグリッドコントロールにスローするだけです。
次に、代替案は動的リストを作成することです(以下のコードはヘルプファイルからのものです)-残念ながら非常に冗長です。
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);