Проблема запроса LINQ MVC при передаче модели для просмотра
Я получаю ниже ошибка при вызове запросов LINQ присоединиться к
The model item passed into the dictionary is of type 'System.Linq.Enumerable+<JoinIterator>d__38`4[OnlineApplicationTest.Models.SubCategoryMaster,OnlineApplicationTest.Models.CategoryMaster,System.Int32,<>f__AnonymousType1`3[System.String,System.String,System.Int32]]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable`1[OnlineApplicationTest.Models.SubCategoryMaster]'.
Нет никакой колонки Категория в SubCategoryMaster таблица, однако она имеет только CategoryId присутствует.
Мне нужно, чтобы отобразить категории, чтобы отобразить на виду, а не категории.Поэтому я написал запрос LINQ, чтобы получить имя категории и передать результат для просмотра. Однако я получаю выше сообщение об ошибке. Любая помощь по этому вопросу будет оценена по достоинству. Заранее спасибо.
Что я уже пробовал:
Таблица CategoryMaster
CategoryId
Категория и т. д
Таблица SubCategoryMaster
SubCategoryId
CategoryId
Имя_подкатегории
OnlineTestEntities2 objOnlineTest = new OnlineTestEntities2(); List<SubCategoryMaster> Subcategories = objOnlineTest.SubCategoryMasters.ToList(); List<CategoryMaster> categories = objOnlineTest.CategoryMasters.ToList(); //var innerJoin = new List<SubCategoryMaster>(); var innerJoin = (from s in Subcategories // outer sequence join st in categories //inner sequence on s.CategoryId equals st.CategoryId // key selector select new { // result selector SubCategoryName = s.SubCategoryName, CategoryName = st.CategoryName, SubCategoryId=s.SubCategoryId }).AsEnumerable(); // d.AddRange(innerJoin); return View(innerJoin);
SubCategoryView как показано ниже
@model IEnumerable<OnlineApplicationTest.Models.SubCategoryMaster> @{ ViewBag.Title = "GetAllSubCategory"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>GetAllSubCategory</h2> <p> @Html.ActionLink("Create New", "Create") </p> <table class="table"> <tr> <th> @Html.DisplayNameFor(model => model.CategoryId) </th> <th> @Html.DisplayNameFor(model => model.SubCategoryName) </th> <th></th> </tr> @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.CategoryId) </td> <td> @Html.DisplayFor(modelItem => item.SubCategoryName) </td> <td> @Html.ActionLink("Edit", "Edit", new { id=item.SubCategoryId }) | @Html.ActionLink("Details", "Details", new { id=item.SubCategoryId }) | @Html.ActionLink("Delete", "Delete", new { id=item.SubCategoryId }) </td> </tr> } </table>