【发布时间】:2019-04-17 23:51:06
【问题描述】:
在 SQL Server 数据库中,我有一个包含三列的表。我在项目中使用实体框架进行数据库操作。此表不需要ID 列,因为它不会被其他表引用。
但它有两个外键约束和一个由这两个外键组合而成的主键。这就是我希望将数据存储在表中的方式。
例如,企业可以获取县,因此企业 id 是一个外键,县 id 是另一个外键。这两个外键的组合是主键,因为业务不能多次获取同一个县。应用程序中的一项功能允许用户进行转移,当时我想更新作为主键一部分的业务 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
请告知我如何更新此密钥。
【问题讨论】:
标签: sql-server entity-framework sql-server-2012