我想从数据库中获取一些取决于三个表的记录。三张表是:
1.Company(Id,Name)
2. Car(Id,CompanyId,Name)
3. Showroom(Id,CarId,Name)
现在,一家公司包含许多汽车,许多陈列室中可能存在许多汽车。我想从陈列室的桌子上获取记录,其中有2辆汽车与汽车一起存在。是否可以在实体框架核心中进行?
我认为您的实体会如下:
公司
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();