gpt4 book ai didi

.net - Entity Framework 将某些 varchar 列的复合键错误地视为身份

转载 作者:行者123 更新时间:2023-12-02 01:20:13 25 4
gpt4 key购买 nike

我有下表:

CREATE TABLE [dbo].[MyTable](
[timestamp] [timestamp] NOT NULL,
[Col1] [varchar](20) NOT NULL,
[Col2] [varchar](20) NOT NULL,
[col3] [datetime] NOT NULL,
[col4] [varchar](10) NOT NULL,
[Col5] [varchar](10) NOT NULL,
[Col6] [varchar](10) NOT NULL,
[Col7] [decimal](38, 20) NOT NULL,
[Col8] [decimal](38, 20) NOT NULL,
[Col9] [datetime] NOT NULL,
CONSTRAINT [MyTable$0] PRIMARY KEY CLUSTERED
(
[Col1] ASC,
[Col2] ASC,
[Col3] ASC,
[Col4] ASC,
[Col5] ASC,
[Col6] ASC,
[Col7] ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [Data Filegroup 1]
) ON [Data Filegroup 1]

我使用 EF 生成器创建 MyTable 类,设置所有字段并保存更改。我收到以下错误:

Store-generated keys are only supported for identity columns. Key column 'Col2' has type 'SqlServer.varchar', which is not a valid type for an identity column.

我不明白的是为什么它认为它是一个身份列。我该如何修复该错误?我的方向正确吗?

最佳答案

问题似乎是错误消息不相关。它应该说的是关于不可空 PK 值的内容。看来 PK 涉及的值之一为 null。我认为这个问题与 C# 中的 String 类型可为空有关,因为 Nullable 在 EF 设计器中设置为 False 并且没有抛出错误,因为它根本没有被设置。

关于.net - Entity Framework 将某些 varchar 列的复合键错误地视为身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5736688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com