В настоящее время я использую контекст базы данных Asp.net для создания API, и у меня возникла проблема. У меня есть две таблицы базы данных, и я хочу вывести некоторые данные, но не все
Мои столы:
Employee Table:
+----+------+---------------+------------+---------------+
| Id | Name | Mail | Phone | Birthday |
+----+------+---------------+------------+---------------+
| 1 | John | [email protected] | 987 72 123 | 25-July 2000 |
| 2 | Stan | [email protected] | 978 21 342 | 10-April 1998 |
| 3 | Kim | [email protected] | 973 28 199 | 26-March 2001 |
+----+------+---------------+------------+---------------+
Shift Table:
+------------+--------------------+--------------------+--------+
| EmployeeId | Start | End | Active |
+------------+--------------------+--------------------+--------+
| 1 | 10-June 2019 08:00 | 10-June 2019 16:00 | true |
| 2 | 10-June 2019 12:00 | 10-June 2019 18:00 | true |
| 3 | 10-June 2019 16:00 | 11-June 2019 00:00 | true |
| 2 | 11-June 2019 08:00 | 11-June 2019 16:00 | true |
+------------+--------------------+--------------------+--------+
В моих таблицах таблица сотрудников и таблица смен имеют связь 1-Many между Employee.Id и Shift.Id
Используя созданный мной контроллер, я смог вернуть все данные, однако я хочу вернуть определенный набор данных (не все), в основном я хочу вернуть только< /сильный>:
+----+------+--------------------+--------------------+--------+
| Id | Name | Start | End | Active |
+----+------+--------------------+--------------------+--------+
| 1 | John | 10-June 2019 08:00 | 10-June 2019 16:00 | true |
| 2 | Stan | 10-June 2019 12:00 | 10-June 2019 18:00 | true |
| 3 | Kim | 10-June 2019 16:00 | 11-June 2019 00:00 | true |
| 2 | Stan | 11-June 2019 08:00 | 11-June 2019 16:00 | true |
+----+------+--------------------+--------------------+--------+
Я пробовал следующий код в контроллере, но я не могу вернуть набор данных, который я хочу
private readonly DatabaseContext context;
public ManageUsersController(DatabaseContext Dbcontext)
{
context = Dbcontext;
}
[HttpGet("Users")]
public List<Employee> GetUsers()
{
var data = context.Employee.Include(c=> c.Schedule).toList();
return data;
}
Модели, которые я получаю, выглядят так
public partial class Employee
{
public int Id { get; set; }
public int PhoneNr { get; set; }
public string Name { get; set; }
public string Mail { get; set; }
public DateTime Birthday { get; set; }
public bool Active { get; set; }
//Relationship
public ICollection<Schedule> Schedule { get; set; }
}
public partial class Schedule
{
public int Id { get; set; } //EmployeeId
public DateTime Start { get; set; }
public DateTime End{ get; set; }
public bool? Active { get; set; }
//Relationship
public Employee Employee { get; set; }
}
наконец, мой файл DatabaseContext выглядит так:
public class DatabaseContext: DbContext
{
public DatabaseContext(DbContextOptions<DatabaseContext> options) : base(options)
{
}
public DbSet<Schedule> Schedule { get; set; }
public DbSet<Employee> Employee { get; set; }
}
Надеюсь, мой вопрос не будет длинным, и заранее спасибо за ответ