Есть в БД сущность Package, хочу также хранить дубликаты этой сущности.
Package:
public class Package
{
public ulong Id { get; set; }
public ICollection<Duplicate> Duplicates { get; set; }
}
Duplicate:
public class Duplicate
{
public ulong Id { get; set; }
public ulong PackageAId { get; set; }
public ulong PackageBId { get; set; }
public byte MatchPercent { get; set; }
public Package PackageA { get; set; }
public Package PackageB { get; set; }
}
Конфигурация Duplicate:
internal class DuplicateConfiguration : IEntityTypeConfiguration<Duplicate>
{
public void Configure(EntityTypeBuilder<Duplicate> builder)
{
builder.HasOne(x => x.PackageA)
.WithMany(x => x.Duplicates)
.HasForeignKey(x => x.PackageAId)
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("fk_duplicates_packages_a");
builder.HasOne(x => x.PackageB)
.WithMany(x => x.Duplicates)
.HasForeignKey(x => x.PackageBId)
.OnDelete(DeleteBehavior.Cascade)
.HasConstraintName("fk_duplicates_packages_b");
}
}
При создании миграции получаю такую ошибку:
Cannot create a relationship between 'Package.Duplicates' and 'Duplicate.PackageB', because there already is a relationship between 'Package.Duplicates' and 'Duplicate.PackageA'. Navigation properties can only participate in a single relationship.
Как правильно создать связи между таблицами?
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости