Я хотел бы сгладить коллекцию DTO в один DO с помощью LINQ, но мой LINQ-fu слабый.
Мой DTO выглядит так:
public class DTO {
Product product,
Location location,
MonthPeriod month,
double Data
}
и сопоставляется с таблицей базы данных SQL с этой схемой:
ProductID int,
LocationID int,
MonthPeriodID int,
Data numeric(18,6)
Продукт, Местоположение и Месяц все наследуются от LookupEntity, который выглядит следующим образом:
public class LookupEntity {
string Name,
int Id
}
Затем у меня есть DO, который выглядит следующим образом:
public class DO {
Product product,
Location location,
IList<DataValue> values
}
DataValue - это объект значения, который выглядит следующим образом:
public class DataValue {
MonthPeriod Month
double Data
}
Я могу получить список DTO просто отлично используя NHibernate, но у меня возникают проблемы со сглаживанием их в моем DO. Я хотел бы использовать LINQ для создания DO. Что мне нужно сделать, чтобы получить набор DO, привязанных к Product и Location со списком объектов DataValue, содержащих данные по месяцам?
Другими словами ...
Вот пример набора исходных данных:
Product: Location: Month: Data: ProductA MI Jan 10 ProductA MI Feb 20 ProductA MI Mar 30 ProductB CA Jan 100 ProductB CA Feb 200 ProductC CA Mar 300
Я могу просто сопоставить это с DTO. Теперь я хотел бы использовать LINQ для получения 2 экземпляров DO, каждый из которых имеет список, содержащий 3 экземпляра DataValue.