Самостоятельная ссылка "Многие ко многим" Linq Query - PullRequest
0 голосов
/ 25 сентября 2010

У меня есть такой тип данных:

MtoM
{
   ParentID, 
   ChildID
}

Item
{
    ID,
    Data,
    Label
}

Как мне написать запрос linq, который возвращает каждый ChildID с заданным ParentID и связанные данные и метки для каждого из этих дочерних идентификаторов.Если бы я использовал SQL, я бы использовал union all и inner join, но я не знаю linq достаточно хорошо, чтобы сделать это.

Производительность абсолютно не проблема, так как будет не более 3уровни вложенности и только 1 или 2 предмета на каждом уровне.DDL, который я пытаюсь заполнить, используется редко и не является критически важным для миссии.

1 Ответ

0 голосов
/ 25 сентября 2010

при условии, что дочерний идентификатор ссылается на поле идентификатора в таблице элементов, вы можете написать следующий запрос для получения требуемых записей

from mt in MToM 
where mt.ParentID == GivenParentID
join it in Item on mt.ChildId equals it.ID
select new { parentID = mt.ParentID, childID = it.ID, childData = it.Data, childLabel = it.Label}

данные возвращаются в анонимном виде.вы можете создать новый тип и заполнить его результирующими записями

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