Ограничение внешнего ключа для нескольких полей
Товарищи,
У меня есть таблица SQL Server & lt;entity>, которая находится в определенном администрировании. В таблице на <лицо>, который имеет отношение с &ЛТ;entitystatus&ГТ;.
& lt;сущность>
Id (int, PK, auto-increment)
AdminstrationId инт
Статус int
Наименование тип varchar
....
& lt;entitystatus>
Id (int, PK, auto-increment)
AdminstrationId инт
Количество инт
Наименование тип varchar
Как вы можете видеть, обе таблицы имеют поле Id, которое является PK и имеет автоматическое приращение.
Теперь я хочу, чтобы entity framework создала связь между обоими полями AdministrationId и<entity & gt;.Поле Status & lt;entitystatus>Number.
Как я могу это сделать?
Код, приведенный ниже в разделе "Что вы пробовали", на самом деле работает для отношения, но он удаляет поле Id как PK таблицы состояния. Это приводит к ошибке при вводе новых значений состояния в таблицу & lt;entitystatus>
Что я уже пробовал:
modelBuilder.Entity<Entity>() .HasKey(c => new { c.AdministrationId, c.Number }); modelBuilder.Entity<Entity>() .HasRequired(p => p.EntityStatus) .WithMany(x => x.Entities) .HasForeignKey(p => new { p.AdministrationId, p.Status });