Я хочу использовать select
и groupby
в своем запросе
_context.UserChart_Tbl
.Where(uc => uc.UserID == "6")
.GroupBy(g => g.OrgnizationID)
.Select(g => g.OrgnizationID)
.ToArray();
Но я получаю ошибку в select
Ошибка CS1061 «IGrouping» делает не содержит определения для «OrgnizationID» и не найден доступный метод расширения «OrgnizationID», принимающий первый аргумент типа «IGrouping» (отсутствует директива using или ссылка на сборку?)
Как решить эту проблему?
Обновление
Ошибка, решаемая этим кодом
_context.UserChart_Tbl
.Where(uc => uc.UserID == u.Id)
.GroupBy(g => g.OrgnizationID)
.Select(g => g.Key).ToArray()
Полный код
public List<DoctorDropDoenViewModel> DoctorDropDown()
{
var query = (from u in _context.Users
join
UR in _context.UserRoles on u.Id equals UR.UserId
join
D in _context.Doctor_Tbl on u.Id equals D.DoctorUserId
where UR.PolicyID == 4
select new DoctorDropDoenViewModel()
{
DoctorID = u.Id,
DoctorFullName = u.FirstName + " " + u.Family,
OrgID = _context.UserChart_Tbl.Where(uc => uc.UserID == u.Id)
.GroupBy(g => g.OrgnizationID).Select(g => g.Key).ToArray()
});
return query.ToList();
}
И
public class DoctorDropDoenViewModel
{
public string DoctorID { get; set; }
public string DoctorFullName { get; set; }
public int[] OrgID { get; set; }
}
DoctorID
может иметь несколько OrgID
, которые также могут быть дубликатами. Я хочу отображать дубликаты только один раз. Для этой цели я использую Distinct
и Group By
.
Но Group By
не работает