Я довольно новичок в LINQ, и у меня возникли некоторые проблемы с моим запросом. Я пытаюсь получить опросы, связанные с определенными группами (таблица SurveyGroups - это таблица назначений). Однако, как только я возвращаю свою модель в мой вид, я получаю нулевую ошибку.
Это то, что я имею до сих пор:
public ActionResult Index()
{
var userID = User.Identity.GetUserId();
var clientID = _db.Users.Where(u => u.Id == userID).Select(u => u.ClientID).FirstOrDefault();
var userGroups = _db.UserGroups.Where(x => x.UserID == userID).ToList();
var groupedSurveys = (from t1 in userGroups
join t2 in _db.SurveyGroups
on t1.GroupID equals t2.GroupID
select new { t2.SurveyID }).ToList();
var surveys = (from t11 in groupedSurveys
join t22 in _db.Surveys.Where(s => s.ClientID == clientID)
on t11.SurveyID equals t22.SurveyID
select new { t22.ClientID, t22.Name}).ToList();
return View("~/Views/User/Dashboard.cshtml", surveys);
}
- Во-первых, я получаю идентификатор пользователя.
- Я получаю идентификатор клиента, связанный с этим идентификатором пользователя.
- Затем я присоединяю объект userGroups к таблице SurveyGroup.
- Наконец, я присоединяюсь к groupedSurveys с таблицей Surveys.
Любое руководство будет с благодарностью!
ОБНОВЛЕНО:
Я получаю следующую ошибку:
Элемент модели, передаваемый в словарь, имеет тип 'System.Collections.Generic.List 1[<>f__AnonymousType6
5 [System.Int32, System.Nullable 1[System.Int32],System.Nullable
1 [System.Int32], System.Nullable 1[System.Int32],System.String]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [SM_XPRESS.Models.Survey].