我有2个具有某些属性的表(其中一个表具有许多属性)。这些表之间的关系是多对多的。但是,我的选择将过滤结果,并使关系为1到1。这将使用Join完成。 有没有一种方法可以从一个表中获取数据,但也可以从另一表中获取相应的属性
例如: DeviceHierarchy
|----------|---------|----------|
| Parent | Child | Depth |
|----------|---------|----------|
| 12 | 12 | 1 |
| 12 | 25 | 2 |
| 12 | 30 | 3 |
| 12 | 45 | 2 |
| 12 | 40 | 3 |
|----------|---------|----------|
和设备
|----------|-----------|-------------|
| ID | ParentId | etc |
|----------|-----------|-------------|
| 12 | NULL | ... |
| 25 | 12 | ... |
| 30 | 25 | ... |
| 45 | 12 | ... |
| 40 | 45 | ... |
|----------|-----------|-------------|
加入就是这样
Context.DeviceHierarchy // this is generate based on other joins and filters
.Join(Context.Devices, h => h.Child, d => d.ID, (h, d) => d + h.Depth)
.ProjectTo<MyComposedObject>(Mapper.ConfigurationProvider)
是否有一种简单的方法可以选择d + h.Depth来映射到MyComposedObject?我不想列举所有d的属性,因为有40-50个属性。是否可以在不枚举属性的情况下创建动态对象?