2009-08-26 41 views
2

我目前在LLBLGen中有兩個實體,並且想要將它們合併在一起輸出到DevExpress GridControl中使用的表格,方法與使用內部連接一起連接兩個表格的方式相同。LLBLGen「拼合」表格關係

有沒有人知道如何用LLBLGen做到這一點?

+0

一個選項是在設計器中創建一個TypedList。過去我已經取得了成功。 – 2011-01-12 16:40:50

回答

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); 
+0

謝謝。這就是從幫助文件中看到的「正確」方式。 – 2009-08-28 10:44:38

3

如果您使用的是LLBLGen 2.6,則可以使用LINQ將使用LLBLGen LINQ Provider的輸出展平。

東西上的(僞碼)

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

的方式,只是扔變量「平坦」到電網的控制。

+0

不幸的是,我在這個項目的.net 2.0。 – 2009-08-26 18:45:51