Так что мой вариант использования довольно прост, у меня есть автомобиль и аксессуары для него. Теперь я создал 3 таблицы, одну для автомобиля, одну для принадлежностей и таблицу «многие ко многим», как показано ниже: publi c class Vehicle
Таблица транспортных средств
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string RegistrationNumber { get; set; }
public string Make { get; set; }
public string Model { get; set; }
public int Year { get; set; }
public int Kilometers { get; set; }
public string VehicleIdentificationNumber { get; set; }
public decimal RetailPrice { get; set; }
public decimal CostPrice { get; set; }
public ICollection<VehicleAccessory> VehicleAccessories { get; set; }
public ICollection<VehicleImage> VehicleImages { get; set; }
public DateTime DTCreated { get; set; }
public DateTime DTUpdated { get; set; }
}
Таблица аксессуаров
public class Accessory
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public string Description { get; set; }
public ICollection<VehicleAccessory> VehicleAccessories { get; set; }
}
Таблица связывания
public class VehicleAccessory
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public long Id { get; set; }
public long VehicleId { get; set; }
public Vehicle Vehicle { get; set; }
public long AccessoryId { get; set; }
public Accessory Accessory { get; set; }
}
Теперь я вручную добавил запись в базу данных, чтобы связать принадлежность и таблица транспортных средств, но он не распознается, если я запрашиваю таблицу транспортных средств, чтобы получить свойство VehicleAccessories, он просто возвращает ноль. Я попытался использовать include в свойстве, но это дало мне ошибку циклической ссылки. Кстати, я понятия не имею, как добавить с помощью EF таблицу «многие ко многим».
Чтобы попытаться получить используемые мной записи: _context.Vehicles.ToList();
Может кто-нибудь возможно, пролить свет на то, почему это не работает.