gpt4 book ai didi

c# - 服务器无法生成错误 "The primary key column of type ' DateTime'。”

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:34 25 4
gpt4 key购买 nike

我的一张表上有一个复合主键(Int 和 DateTime)。当我尝试使用 LINQ 添加新记录时(将 DateTime 字段设置为“AutoGeneratedValue = true”,并将 getdate() 作为服务器上的默认值),出现以下错误:

The primary key column of type 'DateTime' cannot be generated by the server.

知道这是为什么吗?我相信它以前有效,但我无法弄清楚是什么导致它停止工作。遗憾的是,关于此类错误的具体信息很少。

此外,通过 SQL Server Management Studio 手动提交行工作正常,并正确自动生成日期时间值。

编辑 - 正常工作 - 一定是 LINQ to SQL 中的错误:如果我在 DBML 中将 DateTime 的“IsPrimaryKey”设置为 false,同时将复合键保留在数据库端。

所以这是可行的:

  • SQL Server:复合主键(Id INT、MyDate DATETIME - 自动生成)
  • DBML:将 Id 标记为主键。将 MyDate 标记为自动生成,但为主键。

我认为这是 LINQ to SQL 中的错误。

最佳答案

需要在SQL Server中设置字段默认为自生成。对于 DateTime 字段,这通常是 GETDATE()

编辑:

除了 AutoGeneratedValue = true 您还需要将 Auto-Sync 设置为 OnInsert

关于c# - 服务器无法生成错误 "The primary key column of type ' DateTime'。”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3220442/

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