我将几个表移植到新数据库中。从传统的到新的,一切都完全相同。将用户生成的数据提交给数据库的后端代码也是相同的。当我向数据库提交更改时,所有提交的信息都会填充正确的列,但存储GUID的列会填充所有0。当我使用SQL Server Management Studio手动输入列时,GUID将像在旧版本中一样填充。我错过了什么吗?
答案 0 :(得分:2)
我过去曾遇到与Entity Framework类似的问题,即使我在列上设置了newid()
作为默认值/初始值。由于时间限制,我没有花太多时间来解决它,而是在保存之前手动/明确地将Guid属性设置为Guid.NewGuid()
。
答案 1 :(得分:0)
当您移植表时,您不能移植其中一列的默认值。 E.g。
CREATE TABLE blah (
blahID UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID()
)