Связывание двух таблиц LinqToSql - PullRequest
0 голосов
/ 28 января 2019

У меня есть две таблицы, которые я хочу связать вместе.В таблице 1 будут проекты: Id, Name, Date.Таблица 2 будет содержать: Id, Name, Text.Я хочу связать много содержимого с одним проектом, а затем запросить имена содержимого, которые связаны с данным проектом.

Пример:

У меня есть содержимое с: Id=1, Name=Content1, Text=blablabla.

И другой контент с: Id=2, Name=Content2, Text=HelloHello

И проектом: Id=1, Name=Project, Date=27.01.2019, ContentsId=1, 2.

Первый вопрос: как я могу связать их вместе?Второй вопрос: как я могу попросить имена контента в проекте.

Заранее спасибо.

1 Ответ

0 голосов
/ 28 января 2019

Для локальных коллекций, которые будут работать идеально: (я добавил фиктивные классы для проверки типов)

void Main()
{
    var t1 = new T1[] { new T1(), new T1() };
    var t2 = new T2[] { new T2(), new T2() };

    var joinQuery = 
        from r1 in t1
        from r2 in t2
        where r2.ContentsId.Contains(r1.Id) == true
        select new { name1 = r1.Name, text = r1.Text, name2 = r2.Name };
}

class T1
{
    public int Id { get; set; }
    public string Name { get; set; } 
    public string Text { get;set; }
}

class T2
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int[] ContentsId { get; set; }
}

joinQuery это ключевой момент, поэтому он возвращает коллекцию анонимных объектовгде name1 - имя из 1-й коллекции, текст - текст из 1-й коллекции, name2 - имя из 2-й коллекции

Надеюсь, что поможет.

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