Preashant Patil Ответов: 1

Как решить проблему в MVC?


я изучаю MVC, создаю модель, затем пишу запрос linq, а затем показываю, как показано ниже......

var record = (from TStud in db.tbl_StudentForm
                         where TStud.stdfrm_id == id
                         select new
                         {                           
                             TStud.stdfrm_fh_firstname,
                             TStud.stdfrm_fh_middlename,
                             TStud.stdfrm_occupation,
                             TStud.stdfrm_mo_firstname,
                             TStud.stdfrm_mo_middlename,
                             TStud.stdfrm_mo_lastname
                         }).ToList();


и верните запись для просмотра

а добавить видовое пространство имени - это как ниже.......
@model IEnumerable<MCAER_MVC.Models.tbl_StudentForm>



но покажите ошибку..... plz помогите мне


Элемент модели, переданный в словарь, имеет тип 'System.Collections.Generic.List`1 [<> f__AnonymousType4`27 [System.Nullable`1 [System.Int32], System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.String, System.Nullable`1 [System.Int32], System.String, System.String, System.String, System.String, System.String , System.String, System.String, System.String, System.Nullable`1 [System.Int32], System.Nullable`1 [System.Int32], System.Nullable`1 [System.Int32], System.String, System.String, System.String, System.String, System.String, System.String]] ', но для этого словаря требуется элемент модели типа' System.Collections.Generic.IEnumerable



заранее спасибо

Что я уже пробовал:

ВАР запись = (от TStud в дБ.tbl_StudentForm
где TStud.stdfrm_id = = id
выберите новый
{
TStud.stdfrm_fh_firstname,
TStud.stdfrm_fh_middlename,
TStud.stdfrm_occupation,
TStud.stdfrm_mo_firstname,
TStud.stdfrm_mo_middlename,
TStud.stdfrm_mo_lastname
}).Список();



это мой запрос, чтобы попробовал

1 Ответов

Рейтинг:
9

F-ES Sitecore

Когда вы делаете "select new { .. }" в своем запросе, вы создаете анонимный тип, а анонимные типы не могут быть переданы в другое место, например в функции или в представление. Ваше представление ожидает список объектов tbl_StudentForm, но это не то, что вы отправляете. Вам нужно изменить свой запрос linq, чтобы возвращать фактические классы tbl_StudentForm, а не анонимные типы.

var record = (from TStud in db.tbl_StudentForm
                         where TStud.stdfrm_id == id
                         select TStud).ToList();


Основные операции запроса LINQ (C#)[^]