Linq2Entity Получение значений из справочной таблицы - PullRequest
0 голосов
/ 06 февраля 2012

у меня есть 3 таблицы

Таблица: A - aID - Текст

Таблица: B - bID - Текст

Таблица: A_B (справочная таблица, которая содержит обапервичные ключи как внешние ключи) - aID - bID

Entity Framework знает, что таблица A_B является просто ссылочной таблицей, и не создает ее в DBModel, но сохраняет ссылки в таблицах A и B.

Мой вопрос: как мне получить данные из справочной таблицы, не имея этой таблицы?Когда я пытаюсь получить доступ к значениям таблицы B, используя ссылку в таблице A, я не могу получить значения столбцов таблицы B.

        ObjectQuery<A> aTable = dbConnection.A;

        var result = from data in aTable
        where data.aID = '12'
        select data.B; //B is the reference to table B out of table A

Что мне нужно, это что-то вроде:

        ObjectQuery<A> aTable = dbConnection.A;

        var result = from data in aTable
        where data.aID = '12'
        select data.B.bID;

Как получить данные из таблицы B, используя ссылку между таблицей A и таблицей B?

Использование: VS 2010 Prof, .Net 4, Linq2Entity

1 Ответ

0 голосов
/ 06 февраля 2012

Как и Гари Саид, вы либо используете First (если вы хотите один B для каждого A), FirstOrDefault (если вы хотите NULL, где нет B для A) или SelectMany (если вы хотите все B для каждого A) Последнийможно написать так:

 var result = from data in dbConnection.A
              from b in data.B
              select b.Id;
...