У меня есть две таблицы, как показано ниже: Один - это отдел, другой - сотрудник. У каждого отдела есть несколько сотрудников. Вот определение таблицы:Возврат Сложные типы данных в SQL-сервере
Create table [dbo].[Department]
(
ID int not null,
Name varchar(100) not null,
revenue int not null
)
Create table [dbo].[Employee]
(
ID int not null,
DepartmentID int not null,--This is foreign key to Department
Name varchar(100) not null,
Level int not null
)
Теперь я хочу, чтобы запросить все отделение с работником, если доход отдела больше, чем значение. Таким образом, результат будет содержать список отделов. Для каждого отдела он также должен содержать список сотрудников.
В нашем клиенте, мы используем C# для получения данных, здесь является интерфейс:
public List<Department> GetHighRevenueDepartmentWithEmployee(int revenueBar)
{
throw new NotImplementedException();
}
Мой вопрос состоит в следующем: можно ли получить результат соединения в одном/хранимой процедуры запроса. Это нормально использовать одну хранимую процедуру для запроса несколько раз, но все данные должны быть возвращены обратно клиенту за один раз. (Это причина производительности). Как мы можем достичь этого? Я знаю, что здесь мы можем определить тип таблиц таблиц, но я не могу определить тип значения таблицы, который содержит другое значение таблицы в качестве столбца внутри.
Похоже, что вы должны использовать ORM-объектно-реляционную карту, такую как Entity Framework. Это точно, что эти инструменты отлично подходят - превращение несколько неуклюжих строк/столбцов реляционных таблиц в приятные, дружественные объекты .NET –