我有如下的 linQ 查询
var records = (from P in Person
join B in BankAccount
on P.ID equals B.PersonID
select new { P, B}).ToList();
人员表有很多字段,但我只需要使用 ID 和名称。同样,对于 BankAccount,我只需要使用 ID、AccountType 和 AccountBalance
然后我将上面的记录 var 类型传递给另一个映射器类,方法如下
public List<CompositeDTO> MapToDto(IEnumerable<object> data)
{
foreach (var rec in data)
{
dto.InjectFrom(rec );
dtoList.Add(dto);
}
return dtoList;
}
CompositeDTO 如下
public class CompositeDTO
{
public int PersonID {get; set;}
public String PersonName {get; set;}
public int AccountID {get; set;}
public String AccountType{get; set;}
public int AccountBalance{get; set;}
}
问题是我无法将任何值放入我的类型对象CompositeDTO
中dto.InjectFrom(rec )
这应该怎么做?此处的文档仅说明了如何为来自两个不同源类的一个字段执行此操作。我错过了什么吗?这可以做到吗?