В базе данных SQL Server у меня есть таблица с тремя столбцами.Я использую Entity Framework в проекте для операций с базой данных.Эта таблица не требует столбца ID
, поскольку на нее не будут ссылаться другие таблицы.
Но у него есть два ограничения внешнего ключа и первичный ключ с комбинацией этих двух внешних ключей.Вот как я хочу, чтобы данные были сохранены в таблице.
Например, предприятие может приобрести округ, поэтому идентификатор предприятия - это один внешний ключ, а идентификатор округа - другой внешний ключ.Комбинация этих двух внешних ключей является первичным ключом, поскольку предприятие не может приобретать один и тот же округ несколько раз.Одна из функций в приложении позволяет пользователю выполнять передачу, в то время как я хочу обновить бизнес-идентификатор, который является частью первичного ключа.
При вызове context.SaveChanges
код выдает ошибку
Свойство 'business_id' является частью ключевой информации объекта и не может быть изменено.
Мой код:
CREATE TABLE [dbo].[BusinessCounty]
(
[BusinessId] [int] NOT NULL,
[CountyId] [smallint] NOT NULL,
[Active] [tinyint] NULL,
CONSTRAINT [PK_10_3]
PRIMARY KEY NONCLUSTERED ([BusinessId] ASC, [CountyId] ASC)
)
GO
ALTER TABLE [dbo].[BusinessCounty]
ADD CONSTRAINT [FK_11_4]
FOREIGN KEY([BusinessId]) REFERENCES [dbo].[Business] ([ID])
GO
ALTER TABLE [dbo].[BusinessCounty]
ADD CONSTRAINT [FK_15_3]
FOREIGN KEY([CountyId]) REFERENCES [dbo].[County] ([ID])
GO
Пожалуйста, посоветуйте, как мне обновить этот ключ.