我想使用 LINQ 将一组 DTO 扁平化为一个 DO,但我的 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
}
然后我有一个看起来像这样的 DO:
public class DO {
Product product,
Location location,
IList<DataValue> values
}
DataValue 是一个值对象,如下所示:
public class DataValue {
MonthPeriod Month
double Data
}
我可以使用 NHibernate 获得 DTO 的列表,但我在将它们扁平化到我的 DO 时遇到了问题。我想使用 LINQ 来创建 DO。我需要做些什么来获得一个从 Product 和 Location 中键入的 DO 集合,其中包含按月包含数据的 DataValue 对象列表?
换句话说...
这是一个示例源数据集:
产品: 地点: 月份: 数据: 产品A MI 1月10日 ProductA MI 2 月 20 日 产品A MI 3 月 30 日 ProductB CA 100 年 1 月 ProductB CA 200 年 2 月 ProductC CA 300 年 3 月
我可以将它映射到 DTO 就好了。我现在想使用 LINQ 获取 2 个 DO 实例,每个实例都有一个包含 3 个 DataValue 实例的列表。