Это законченный ответ, который я разобрал через концепцию DTO благодаря вкладу @vikscool
namespace WebApiJoinData.Controllers
{
[RoutePrefix("Api")]
public class JoinController : ApiController
{
DepartmentServicesEntities DSE = new DepartmentServicesEntities();
[Route("Api")]
[HttpGet]
public object JoinStatement()
{
using (DSE)
{
var result = (from e in DSE.employees
join d in DSE.departments on e.department_id equals d.department_id
join ws in DSE.workingshifts on e.shift_id equals ws.shift_id
select new
{
FirstName = e.FirstName,
LastName = e.LastName,
Gender = e.Gender,
Salary = e.Salary,
Department_id = e.department_id,
Department_Name = d.department_name,
Shift_id = ws.shift_id,
Duration = ws.duration,
}).ToList();
// TODO utilize the above result
string json = Newtonsoft.Json.JsonConvert.SerializeObject(result, Newtonsoft.Json.Formatting.Indented);
return result;
}
}
}
}
Он показал следующий результат:
[{"FirstName ":" Питер», "LastName": "Джо", "Пол": "Мужской", "Зарплата": 1234, "department_id": 1, "Department_Name": "RND", "Shift_id": "А", "Продолжительность": "утро"}, { "FirstName": "Джон", "LastName": "Doe", "Пол": "Мужской", "Зарплата": 1234, "department_id": 2, "Department_Name": "Счет", "Shift_id": "B", "Продолжительность": "после обеда"}, { "FirstName": "Мария", "LastName": "Джонс", "Пол": "Женский", "Зарплата": 5566, "department_id": 3, "Department_Name": "HR", "Shift_id": "А", "Продолжительность": "утро"}, { "FirstName": "Элизабет", "LastName": "Тан", "Пол": "Женский", "Зарплата": 9999, "department_id": 1, "Department_Name": "RND", "Shift_id": "C", "Продолжительность": "ночь"}, { "FirstName ":" GG», "ЬазШате": "в.ч.", "Пол": "NoGender", "Зарплата": 8, "department_id": 1, "Department_Name": "RND", "Shift_id": "В", "Длительность": "день"}]
Спасибо всем, проблема была решена