Шаблон репозитория с отношениями внешних ключей в EF - PullRequest
2 голосов
/ 25 сентября 2011

Я создал базу данных и использовал Entity Framework для генерации некоторых классов модели предметной области.В основном VideCollection - это коллекция видео, и я хотел бы отобразить каждую коллекцию видео вместе с ее видео на некоторой странице.Следуя шаблону репозитория, я сделал репозиторий для коллекции видео.Я могу вытащить объекты VideoCollection из базы данных.Проблема в том, что мне нужно «исправить» объекты, чтобы добавить соответствующие видео.Это правильный способ сделать это?Если так, то мне нужно «починить» видео, чтобы добавить их комментарии и т. Д., Что вызвало огромную цепочку.Я понимаю о отложенных запросах LINQ, но, кажется, нет необходимости вытаскивать из базы данных столько информации.Я использую ASP.NET MVC3.Если кто-нибудь и укажет мне правильное направление, это будет высоко оценено!

using System;
using System.Linq;
using VideoCart.Domain.Abstract;
using VideoCart.Domain.Entities;

namespace VideoCart.Domain.Concrete
{
public class EFVideoRepository : IVideoRepository 
{
    private readonly EFDbContext _context = new EFDbContext();

    public IQueryable<VideoCollection> GetVideoCollections()
    {
        IQueryable<VideoCollection> videoCollections = _context.VideoCollections;
        foreach (var videoCollection in videoCollections)
        {
            videoCollection.Videos = _context.Videos.Where(x => x.VideoCollectionId == videoCollection.Id);
        }
        return videoCollections;
    }
}
}

1 Ответ

2 голосов
/ 25 сентября 2011

Я не уверен, что это то, что вам нужно, но вы можете использовать метод include , чтобы указать связанные объекты, которые вы хотите извлечь и включить в результаты запроса.

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