У меня есть база данных отношений https://ibb.co/VggWGRb со связями в моем проекте. Моя проблема в том, что когда я вызываю объект Equipment, только EquipmentID
не равно нулю. Вы знаете, почему?
Я назвал это для специальной машины:
equipment = repo2.CarEquipment.Where(c => c.CarID == carId)
.Select(c => c.Equipment)
, где repo2 - это правильно подключенный интерфейс с IEnumerable<CarEquipment>
public class CarEquipment
{
public int CarId { get; set; }
public int EquipmentId { get; set; }
public Car Car { get; set; }
public Equipment Equipment { get; set; }
}
public class Equipment
{
public int EquipmentId { get; set; }
public IEnumerable<string> Item { get; set; }
public List<CarEquipment> CarEquipments { get; set; }
}
public class Car
{
public int CarId { get; set; }
public string Brand { get; set; }
public string Model { get; set; }
public int Price { get; set; }
public List<CarEquipment> CarEquipments { get; set; }
}
public DbSet<Car> Cars { get; set; }
public DbSet<Equipment> Equipments { get; set; }
public DbSet<CarEquipment> CarEquipments { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Car>().HasKey(x => x.CarID);
modelBuilder.Entity<CarEquipment>().HasKey(x => new { x.CarID, x.EquipmentID });
modelBuilder.Entity<Equipment>().HasKey(x => x.EquipmentID);
modelBuilder.Entity<Equipment>().HasMany(x => x.CarEquipments).WithRequired(x => x.Equipment);
modelBuilder.Entity<Car>().HasMany(x => x.CarEquipments).WithRequired( x=> x.Car);
}