LLBLGen "Уплощение" таблицы отношений - PullRequest
2 голосов
/ 26 августа 2009

В настоящее время у меня есть две сущности в LLBLGen, и я хотел бы объединить их вместе для вывода в таблицу, которая будет использоваться в DevExpress GridControl, точно так же, как две таблицы соединены вместе с помощью внутреннего соединения.

Кто-нибудь знает, как это сделать с LLBLGen?

Ответы [ 2 ]

3 голосов
/ 26 августа 2009

Если вы используете 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 }

и просто бросить переменную 'flat' в элемент управления grid.

2 голосов
/ 26 августа 2009

Тогда альтернативой является создание динамического списка (приведенный ниже код взят из файла справки) - он, к сожалению, довольно многословный.

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);
...