我正在尝试使用 Entity Framework Core 和 PFB 我的 SQL Server 表创建一个简单的服务器端 Blazor CRUD 应用程序。
到目前为止,我已经花费了大量时间来寻找解决方案,但我失败了。我可以编辑和删除记录,但无法插入任何记录。
出于某种原因,
Insert
语句总是尝试从 Entity Framework Core 插入 D_ID
。我们尝试了多种选择,例如,[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
代表 D_ID
或 [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
代表 D_ID
等.....没有运气。
如果有人可以快速尝试并找到解决方案/解决方法 - 那将非常有帮助。非常感谢,
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBL_NAME]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[D_ID] AS ('DID' + RIGHT('000000' + CONVERT([varchar]6), [ID]), (6))) PERSISTED NOT NULL,
[NAME] [varchar](50) NOT NULL,
[IS_ENABLED] [bit] NULL,
[ADDRESS] [varchar](2000) NULL,
CONSTRAINT [Pk_TBL_NAME_D_ID]
PRIMARY KEY CLUSTERED ([D_ID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY],
CONSTRAINT [UNQ_TBL_NAME_D_ID]
UNIQUE NONCLUSTERED ([NAME] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBL_NAME]
ADD CONSTRAINT [defo_TBL_NAME_IS_ENABLED] DEFAULT ((1)) FOR [IS_ENABLED]
GO
我们尝试了很多选择,比如
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
为D_ID
[DatabaseGenerated(DatabaseGeneratedOption.Computed)]
为D_ID
等.....到目前为止没有运气。