выбрать данные из первой таблицы на основе двух внешних ключей в другой таблице с помощью linq - PullRequest
0 голосов
/ 31 мая 2018

У меня есть две таблицы

tbl_news tbl_NewsRelation

в tbl_NewsRelation У меня есть два внешних ключа в первом внешнем ключе, я сохраняю идентификатор новостей, а во вторую я сохраняю связанный идентификатор новостей

tbl_news

tbl_NewsRelation

Мне нужно получить все связанные новости для новостей

, например, у news1 есть 3 связанных новости

news3

news4

news6

...............................

как это можно сделать с помощью linq?

Другими словами мне нужно сделать следующее:

var query= select * from tbl_relation where FK_NewsID=1
foreach var item in query
{
select * from tbl_news where Id=Fk_RelatedNewsID
}

Вы можете скачать скрипт таблиц по ссылке ниже script

1 Ответ

0 голосов
/ 31 мая 2018

Вот несколько способов сделать это с помощью LINQ.Первый использует подзапрос и Contains, второй использует join.

var relatedNewsIDs = from n in tbl_NewsRelation
                     where n.newsID == "news1"
                     select n.relatedNewsID;

var ans = from n in tbl_news
          where relatedNewsIDs.Contains(n.newsID)
          select n;

Второй запрос использует join:

var ans2 = from rn in tbl_NewsRelation
           where rn.newsID == "news1"
           join n in tbl_news on rn.relatedNewsID equals n.newsID
           select n;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...