是否可以从 EF 查询中填充列表?我的 DTO 如下:
public DTO()
{
public string ClientName { get; set;}
public List<string> RelatedCodes { get; set;}
}
我填充 DTO 的方法 =
Public DTO MyResult(string ClientCode)
{
return (from o in repository.RelatedClient
where o.LeadCode == ClientCode
select new DTO { ClientName = o.ClientName, RelatedCodes = o.RelatedCodes.ToList()});
}
我知道我不应该在查询中添加 ToList() ,或者如果我可以这样做的话,我做错了。任何人都可以建议这是如何完成的。对于这个示例,我的 DTO 被削减了,但是如果可能的话,我希望在一个 DTO 中拥有许多单个属性和一个 List<>(或多个 List),并带有一个实体查询?
所以下面的答案我认为没有办法直接查询这个。我原来的选择是:
Public DTO MyResult(string ClientCode)
{
var temp = (from o in repositry.RelatedCode Where o.LeadCode == ClientCode select o).ToList();
DTO dto = (from o in repository.LeadClient Where o.LeadCode == ClientCode Select o.ClientName).Firstordefault();
foreach(string rc in temp)
{ dto.RelatedCode.Add(rc);}
return dto;
}
我对此感到满意,但如果有人能建议这是否是在没有自动映射器之类的情况下处理的正确方法,我将不胜感激。我正在尝试学习实体框架并想检查我是否缺少一些内置功能。