Я бы хотел объединить коллекцию 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)
Product, Location и Month все наследуются от LookupEntity, который выглядит следующим образом:
public class LookupEntity {
string Name,
int Id
}
У меня тогда есть ДО, которое выглядит так:
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.