Не знаю, как преобразовать результат преобразования объекта в общий список
Всем Привет
Я новичок в Generic, я не знаю, как преобразовать этот
public partial class Student { public int Id { get; set; } public string StudentCode { get; set; } public string StudentName { get; set; } public string Department { get; set; } public string Address { get; set; } }
public virtual ObjectResult<sp_StudentDetails_Result> sp_StudentDetails(string action) { var actionParameter = action != null ? new ObjectParameter("Action", action) : new ObjectParameter("Action", typeof(string)); return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<sp_StudentDetails_Result>("sp_StudentDetails", actionParameter); }
теперь я попробовал с этим
List<Student> student = new List<Student>(); using (StudentEntities myDBEnty = new StudentEntities()) { student = myDBEnty.Students.ToList(); student = myDBEnty.sp_StudentDetails("SELECT"); } return Json(student, JsonRequestBehavior.AllowGet);
и я хочу вернуться, и я получил ошибку, как
Severity Code Description Project File Line Suppression State Error CS0029 Cannot implicitly convert type 'System.Data.Entity.Core.Objects.ObjectResult<WebApplication2.Models.Data.sp_StudentDetails_Result>' to 'System.Collections.Generic.List<WebApplication2.Models.Data.Student>' WebApplication2 E:\MVC Test\WebApplication2\WebApplication2\Controllers\HomeController.cs 46 Active
как это сделать один
Спасибо
Что я уже пробовал:
попробовал в гугле и сделал какой-то образец, но не могу этого сделать
prasanna.raj
если я использую ошибку списка, как это
Описание Кода Серьезности Состояние Подавления Строки Файла Проекта
Ошибка CS0029 не может неявно преобразовать тип ' System.Коллекции.Универсальный.Список<webapplication2.модели.данных.sp_studentdetails_result&ГТ;' к 'системе.Коллекции.Универсальный.Список<webapplication2.модели.данных.студент&ГТ;' WebApplication2 тест E:\MVC \WebApplication2\WebApplication2\контроллеры\HomeController.КС 47 активный
F-ES Sitecore
Это зависит от того, что делает StudentDetails SP. Если он возвращает строки из таблицы Student, то вам необходимо настроить SP для повторного использования объекта Student для возврата результатов, так как по умолчанию он создает новый класс sp_StudentDetails_Result для хранения результатов SP. Если ваш SP возвращает не только строки из таблицы Student, но и добавляет\удаляет некоторые столбцы, то все становится сложнее, и вам просто нужно создать список объектов Student из списка объектов sp_StudentDetails_Result, создав объект Student и скопировав свойства в коде, или использовать для этого структуру сопоставления.
Однако в принципе Entity Framework не знает, что ваш SP возвращает элементы Student, поэтому он создал новый класс, и вы не можете просто преобразовать sp_StudentDetails_Result в Student, даже если они имеют одинаковые свойства, вам нужно вручную скопировать свойства, чтобы настроить SP для повторного использования объекта Student в его результатах. Google для статей о SPs и EF и как вы это делаете, будет объяснено.
prasanna.raj
спасибо...
любая статья, если есть пожалуйста поделитесь со мной
F-ES Sitecore
Это покажет вам, как сопоставить SP с вашим собственным классом, а не использовать тот, который EF создает для вас
http://blogs.microsoft.co.il/gilf/2009/03/13/mapping-stored-procedure-results-to-a-custom-entity-in-entity-framework/
Однако это может быть не решением вашей проблемы, поскольку решение nest опирается на данные, которые вы не предоставили, и мы не знаем, что находится в вашем SP.
prasanna.raj
спасибо F-ES Sitecore ... я постараюсь