Я работаю над базой данных, в которой у таблиц есть составные ключи, и часть этого ключа распределяется между таблицами. Я не знаю, как правильно установить отношения в сущности.
Представьте себе следующее:
public class Sale
{
public long ID { get; set; } //Key
public long RetailerID { get; set; } //Key
public virtual Location Location { get; set; } //Foreign, Many-to-One
}
public class Location
{
public long ID { get; set; } //Key
public long RetailerID { get; set; } //Key
public virtual IEnumerable<Sale> Sales { get; set; } //Relationship, One-to-Many
}
Оба используют свободный API для определения составных ключей OnModelCreating
,
modelBuilder.Entity<Sale>().HasKey(x => new { x.RetailerID, x.ID });
modelBuilder.Entity<Location>().HasKey(x => new { x.RetailerID, x.ID });
Однако я не уверен, как завершить это sh, чтобы установить правильные отношения, поскольку он устанавливает себя как наличие дублирующих столбцов для RetailerID, что не является необходимым. Как это должно быть сделано правильно (если вообще?)