как читать данные из кода соединительной таблицы первым подходом - PullRequest
0 голосов
/ 02 марта 2012

как я могу получить данные из соединительной таблицы в первом подходе к коду. Я знаю, что могу добавить такие данные.

 Movie.Tag.Add(item)

, но хочу знать, как получить эти данные в соединительной таблице

1 Ответ

1 голос
/ 02 марта 2012

Это дает вам все строки в соединительной таблице - каждая строка представляется как анонимный объект с двумя идентификаторами строки в качестве свойств:

var junctionTableDataList = (from m in context.Movies
                             from t in m.Tags
                             select new
                             {
                                 MovieId = m.MovieId,
                                 TagId = t.TagId
                             }).ToList();

Вы можете добавить предложение where передselect, если вы хотите ограничить результат определенным или несколькими фильмами.

Редактировать

То же самое с методами расширения и лямбда-выражениями будет выглядеть так:

var junctionTableDataList = context.Movies
    .SelectMany(m => m.Tags.Select(t => new
    {
        MovieId = m.MovieId,
        TagId = t.TagId
    }))
    .ToList();

Редактировать 2

Если вы хотите вернуть данные из метода, вы можете создать вспомогательный тип litte и вместо этого вернуть список этих «именованных» объектов.анонимных объектов:

public class JunctionData
{
    public int MovieId { get; set; }
    public int TagId { get; set; }
}

List<JunctionData> junctionTableDataList
    = (from m in context.Movies
       from t in m.Tags
       select new JunctionData
       {
           MovieId = m.MovieId,
           TagId = t.TagId
       }).ToList();

или ...Select(t => new JunctionData... для синтаксиса метода расширения.

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