Linq通过选择将匿名对象转换为实体对象

问题描述 投票:0回答:1
var reassignForms = _formQueryRepository.WithRelatedEntities()
            .Where(x => x.Id == formId && x.SchoolId == schoolId)
            .Select(y => y.FormUsers.Where(m => m.CanEdit).Select(z => new ReassignFormDTO
            {
                Name = z.UserProfile.FullName,
                Id = z.UserProfile.Id,
                Email = z.UserProfile.Email,
                Role = z.UserProfile.UserRole,


            }));

我想将其转换为ReassignFormDTO,但是不知何故,它返回了我无法转换的对象。我希望这是直接对象而不是[0] .objects。

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9FeHlhUy5wbmcifQ==” alt =“在此处输入图像描述”>enter image description here

c# linq linq-to-sql
1个回答
0
投票

您可以使用.FirstOrDefault(),它将从linq查询中返回第一个实体。根据调试窗口,您有两个ReassignFormDTO对象,似乎只想获得一个。

请提供更多详细信息,以便我们提供更多帮助。不知道我以前的回答是否对您有帮助。

编辑:我没有注意到您声明中的第二个选择。根据评论,.SelectMany(z => z)应该可以帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.