Я пытаюсь получить шаблон репозитория, работающий с MVC2 и EF.Моя проблема в конкретном хранилище.Когда я пытаюсь привести результаты запроса EF в виде коллекции IEnumerable сущностей модели представления:
Unable to cast object of type
'System.Data.Objects.ObjectQuery`1[Data_Service.MediaReleases]'
to type
'System.Collections.Generic.IEnumerable`1[TestMVCWithFacory.Models.Entities.MediaReleaseModel]'.
Я чувствую, что это нужно делать с костей, а это с Linq и какотложенное выполнение работает, но я не очень понимаю вуду.
Так что же я там неправильно понимаю и как мне к нему обратиться?
Модель представления:
public class MediaReleaseModel
{
public string Headline { get; set; }
public string FullText { get; set; }
}
Интерфейс хранилища:
public interface IMediaReleasesRepository
{
IEnumerable<MediaReleaseModel> MediaReleases { get;}
}
Бетонное хранилище:
public class MediaReleaseRepository : IMediaReleasesRepository
{
private NewsEntities DataContext = new NewsEntities();
private IEnumerable<MediaReleases> _MRs;
public MediaReleaseRepository()
{
_MRs = from art in DataContext.MediaReleases select art;
}
public IEnumerable<MediaReleaseModel> MediaReleases
{
get { return (IEnumerable<MediaReleaseModel>)_MRs; }
}
}
Контроллер:
public class HomeController : Controller
{
private IMediaReleasesRepository _MRRepository;
public HomeController()
{
_MRRepository= new MediaReleaseRepository();
}
public ViewResult index()
{
return View(_MRRepository.MediaReleases.ToList());
}
}