Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/37: Рейтинг темы: голосов - 37, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 8

LINQ связать 3 таблицы с одной

28.11.2011, 22:53. Показов 7188. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Столкнулся со следующей проблемой:
в БД есть 4 таблицы
T_GROUP

T_KAFEDRA

T_SPECIALNOST

T_STUDENT


из этих таблиц меня интересуют следующие поля:
T_STUDENT.STUDENT_ID, T_STUDENT.STUDENT_FAM, T_STUDENT.GROUP_ID, T_SPECIALNOST.SPECIALNOST_SHIFR, T_KAFEDRA.KAFEDRA_NAME

для их получения написал вот такой запрос:
T-SQL
1
2
SELECT T_STUDENT.STUDENT_ID, T_STUDENT.STUDENT_FAM, T_STUDENT.GROUP_ID, T_SPECIALNOST.SPECIALNOST_SHIFR, T_KAFEDRA.KAFEDRA_NAME 
    FROM T_STUDENT INNER JOIN T_GROUP ON T_STUDENT.GROUP_ID=T_GROUP.GROUP_ID INNER JOIN T_SPECIALNOST ON T_GROUP.SPECIALNOST_ID=T_SPECIALNOST.SPECIALNOST_ID INNER JOIN T_KAFEDRA ON T_GROUP.KAFEDRA_ID=T_KAFEDRA.KAFEDRA_ID
этот запрос работает без проблем.
Теперь мне необходимо написать запрос средствами LINQ, но у меня не получается связать таблицу T_GROUP с тремя другими таблицами, как написать запрос на LINQ аналогичный запросу приведенному выше?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.11.2011, 22:53
Ответы с готовыми решениями:

LINQ - запрос для получения разделенных данных из одной таблицы
Здравствуйте! Entity Framework 6, C#. Имеется таблица "участник" и таблица "протокол". Связь - 1 ко многим. C протоколом...

Связать колонку одной таблицы с колонкой другой таблицы
Добрый день! Как связать две ячейки двух таблиц: Из таблицы № 1 данные колонки "категория" ...

Связать 2 поля одной таблицы
Доброго вечера. Подскажите пожалуйста, как реализовать следующую идею: имеется таблица с 3-мя полями: id type price Надо,...

6
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
28.11.2011, 23:18
C#
1
2
3
4
5
var query = from tstudent in DataContext.TStudent
                          join tgroup in DataContext.TGroup on tstudent.GroupID equals tgroup.GroupId
                          join tspecialnost in DataContext.TSpecialnost on tgroup.SpecialnostID equals tspecialnost.SpecialnostID
                          join // ... И так далее
                          select new { tstudent.StudentID, tstudent.StudentFam, /* И т.д */
А вообще лучше в базе создайте отображение по вашему запросу и в шарпе делайте простой выбор из него.
1
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
28.11.2011, 23:23
Ты про работу с БД через EntityFramework ? - просто в зависимости от контекста есть несколько вариантов.
1
Vault dweller
 Аватар для G.E.C.K
90 / 90 / 5
Регистрация: 05.03.2011
Сообщений: 327
29.11.2011, 11:33
Думаю, что имеется ввиду LINQ to SQL.
kolorotur, прав - представление удобный вариант.
1
0 / 0 / 0
Регистрация: 24.04.2011
Сообщений: 8
29.11.2011, 17:21  [ТС]
kolorotur, sau, G.E.C.K
Да имеется ввиду LINQ to SQL.
Поясните пожалуйста как это сделать - "создайте отображение по вашему запросу и в шарпе делайте простой выбор из него".
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
29.11.2011, 17:30
В SQL Server Management Console правым кликом на Views -> New View, туда пихайте ваш SQL-запрос, сохраняйте отображение с нужным вам именем, а в шарпе просто делайте выборку из этого отображения как из обычной таблицы.
В этом случае отпадает надобность делать слияние таблиц в коде.
1
Заблокирован
27.06.2013, 19:59
@kolorotur, я так пробую делать но не работает. получается пустой запрос.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2013, 19:59
Помогаю со студенческими работами здесь

Связать 2 поля одной таблицы
Доброго вечера. Подскажите пожалуйста, как реализовать следующую идею: имеется таблица с 3-мя полями: id type price Надо,...

Связать 2 поля одной таблицы
Доброго вечера. Подскажите пожалуйста, как реализовать следующую идею: имеется таблица с 3-мя полями: id type price Надо,...

Связать два значения одной таблицы!
Помогите плз. Существуют 2 таблицы: Заказы и Товары. В Товарах есть столбцы: Товар, Тип, Поставщик, Цена. Эта таблица заполняется...

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

Как связать 3 таблицы, чтобы меняя количество в одной,- менялось в другой
Как связать 3 таблицы, чтобы меняя количество в одной,- менялось в другой. Выглядит примерно так: есть 3 листа 1. Склад 2. Приход ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru