Ваша программа не делает то, что вы хотите. Увы, вы забыли сказать вам, что вы хотите, вы только показали нам, что вы не хотели. Нам нужно угадать.
Итак, у вас есть последовательность Usar ios.
IQueryable<Usario> usarios = ...
Мне не нужно знать, что такое Usario, все, что мне нужно знать в том, что он обладает определенными свойствами.
Ваш первый шаг - выбросить немного Usar ios, используя Где : вы хотите оставить только usar ios с Perfil равным RoleType .Parceirdo:
// keep only the Usarios with the Perfil equal to RoleType.Parceirdo:
var result = usarios.Where(usario => usario.Perfil == RoleType.Parceirdo)
словами: из последовательности Usar ios сохраняются только те Usar ios, у которых Perfil равен RoleTyoe.Parceirdo.
Результатом является подмножество Usar ios, это последовательность Usar ios.
Из каждого Usario в этом результате вы хотите выбрать некоторые свойства и поместить их в одна ViewParceirosModel:
var result = usarios.Where(usario => usario.Perfil == RoleType.Parceirdo)
.Select(usario => new ViewParceirosModel
{
Id = x.id,
NomeParceiro = x.nome,
EmailAcesso = x.email,
})
Словами: из каждого Usario, который хранился после вашего Where, возьмите Id, Nome и Email для создания одной новой ViewParceirosModel.
В результате получается последовательность ViewParceirosModels. Если вы добавите ToList (), вы можете присвоить результат спискам переменных.
Однако ваш GroupBy портит удовольствие
Я не знаю, что вы планировали делайте, но ваш GroupBy изменяет вашу последовательность ViewParceirosModels на последовательность «групп ViewParceirosModels». Каждый ViewParceirosModel в одной группе имеет одинаковый идентификатор, значение этого идентификатора находится в ключе.
Так что если после GroupBy у вас есть группа ViewParceirosModel с ключом == 1, тогда вы знаете, что каждый ViewParceirosModel в этой группе будет иметь Id, равный 1.
Аналогично, все ViewParceirosModel в группе с ключом 17 будут иметь Id равен 17.
Я думаю, Id - ваш первичный ключ, поэтому в каждой группе будет только один элемент. Группа 1 будет иметь единственный ViewParceirosModel с Id == 1, а группа 17 будет иметь единственный ViewParceirosModel с Id == 17.
Если Id уникален, то GroupBy бесполезен.
После GroupBy вы хотите заказать вашу последовательность ViewParceirosModels в возрастающем NomeParceiro.
Требование
У меня есть последовательность Usar ios. Я только хочу сохранить эти Usar ios со значением Perfil равным RoleType.Parceirdo. Из оставшихся Usar ios я хочу использовать значения свойств Id / Nome / Email для создания ViewParceirosModels. Оставшаяся последовательность ViewParceirosModels должна быть заказана NomeParceiro, а результат должен быть помещен в список.
List<ViewParceirosModel> viewParceiroModels = Usarios
.Where(usario => usario.Perfil == RoleType.Parceirdo)
.Select(usario => new ViewParceirosModel
{
Id = x.id,
NomeParceiro = x.nome,
EmailAcesso = x.email,
}
.OrderBy(viewParceirosModel => viewParceirosModel.NomeParceiro)
.ToList();