Как получить записи из таблицы, которая зависит от других таблиц в entity framework core?

#c# #entity-framework #entity-framework-core

#c# #entity-framework #entity-framework-core

Вопрос:

Я хочу получить некоторые записи из базы данных, которая зависит от трех таблиц. Три таблицы представляют собой:

 1.Company(Id,Name)
2. Car(Id,CompanyId,Name)
3. Showroom(Id,CarId,Name)
  

Теперь одна компания содержит много автомобилей, и многие автомобили могут существовать во многих выставочных залах.
Я хочу получить записи из таблицы showroom, где автомобили компании ‘2’ существуют вместе с автомобилями. Возможно ли это сделать в entity framework core?

Ответ №1:

Я думаю, что ваши сущности будут похожи :

Компания

  public class Company
 {
    public int Id {get; set;}
    public string Name {get; set;}

    public ICollection<Car> Cars {get; set;}
  }
  

Автомобиль:

 public class Car
   {
        public int Id{get; set;}
        public string Name {get; set;}
        public int CompanyId{get; set;}
        public Company Company {get; set;}

      }
  

Салон:

 public class ShowRoom
     {
        public int Id{get; set;}
        public string Name {get; set;}
        public int CarId{get; set;}
        public Car Car{get; set;}

      }
  

В вашем методе:

 var context = new SomeContext();



 var showRooms= context.ShowRooms
                    .Include(x=> x.Car)
                    .ThenInclude(x=> x.Company)
                    .Where(x=> x.Car.Company.Id== 2)
                    .ToList();