Перенос данных репозитория в модель MVC - PullRequest
0 голосов
/ 20 августа 2011

Я получаю сообщение об ошибке

Ошибка 826 Не удалось неявно преобразовать тип 'System.Collections.Generic.IEnumerable' в 'OVR.Models.ChildInfoModel'.Существует явное преобразование (вам не хватает приведения?) C: \ dev ..... \ Controllers \ NewRecordController.cs 129 34 OVR

    public ActionResult ChildInfo(ChildInfoModel childInfoModel)
    {
        //INewRecord newRecord = (INewRecord)TempData["newRecord"];

        if (TempData["CertNum"].ToString() == "")
        {
            return View();
        }
        else
        {
            string certNum = (string)TempData["CertNum"];

            //call up Child Info Screen
            var repo = new Get_Home_Repository();
            childInfoModel = repo.Get_Screen_DataDS(certNum, "ChildInfo");
            //childInfoModel = cModel;

            return View(childInfoModel);
        }

    }
  1. TempData ["CertNum"] содержитнужное мне значение
  2. Вид строго типизирован для модели с @model OVR.Models.ChildInfoModel
  3. Я добавил в параметр (ChildInfoModel childInfoModel), но если ссылка не нажата на пустой страницедолжен быть обработан и разрешен для заполнения, в противном случае я передаю параметры, необходимые для извлечения данных из репозитория, который затем заполняет интерфейс IChildInfo, который содержит данные из списка, как IEnumerable.Я подумал, что мог бы каким-то образом явно преобразовать .. или что интерфейс IChildInfo должен быть обновлен, чтобы передать модель обратно в представление.Как получить модель, заполненную данными репозитория?

1 Ответ

1 голос
/ 20 августа 2011

Что возвращает Get_Screen_DataDS?Что возвращает сигнатура метода?Кажется, вы возвращаете IEnumerable из Get_Screen_DS - что это за IEnumerable?Вы присваиваете экземпляр childInfoModel, который, как я полагаю, не является IEnumerable, но я не могу точно сказать, что вы опубликовали.

Должны ли вы возвращать IEnumerable?Если ChildInfoModel реализует IEnumerable, просто приведите его

childInfoModel = (ChildInfoModel) repo.Get_Screen_DataDS (certNum, "ChildInfo");Однако в этом случае вам, вероятно, стоит просто получить возвращаемый тип Get_Screen_DataDS ChildInfoModel.

Кроме того, это поможет вам в долгосрочной перспективе придерживаться согласованных и стандартных соглашений именования .net.будет VAR хранилище.GetScreenDataDS будет .... GetScreenData () или GetScreenDataByCert () правила FxCop могут помочь вам в этом:) Только мои дополнительные .00000002

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...