db.submitchanges()时不自动生成GUID

时间:2011-03-13 00:06:16

标签: asp.net sql sql-server

我将几个表移植到新数据库中。从传统的到新的,一切都完全相同。将用户生成的数据提交给数据库的后端代码也是相同的。当我向数据库提交更改时,所有提交的信息都会填充正确的列,但存储GUID的列会填充所有0。当我使用SQL Server Management Studio手动输入列时,GUID将像在旧版本中一样填充。我错过了什么吗?

2 个答案:

答案 0 :(得分:2)

我过去曾遇到与Entity Framework类似的问题,即使我在列上设置了newid()作为默认值/初始值。由于时间限制,我没有花太多时间来解决它,而是在保存之前手动/明确地将Guid属性设置为Guid.NewGuid()

答案 1 :(得分:0)

当您移植表时,您不能移植其中一列的默认值。 E.g。

CREATE TABLE blah (
  blahID UNIQUEIDENTIFIER PRIMARY KEY DEFAULT NEWID()
)