【发布时间】:2014-05-14 01:50:01
【问题描述】:
我有一个名为UserCredentials 的表,它有一个uniqueidentifier 列[UserCredentialId]。当我尝试创建一个新用户时,我第一次尝试得到00000000-0000-0000-0000-000000000000,然后当我尝试添加另一个用户时,它说 PK 不能被复制。起初我很难猜测它是什么意思,但我认为这是因为我的uniqueidentifier 没有生成随机 ID。
怎么办?
编辑
这是我的 SQL 表结构:
CREATE TABLE [dbo].[UserCredential](
[UserCredentialId] [uniqueidentifier] NOT NULL,
[UserRoleId] [int] NOT NULL,
[Username] [varchar](25) NOT NULL,
[Password] [varchar](50) NOT NULL,
[PasswordSalt] [varchar](max) NOT NULL,
[FirstName] [varchar](50) NOT NULL,
[LastName] [varchar](50) NOT NULL,
[PayorCode] [varchar](20) NOT NULL,
[ProviderCode] [varchar](50) NULL,
[CorporationCode] [varchar](50) NULL,
[Department] [varchar](50) NULL,
[Status] [varchar](1) NOT NULL,
[DateCreated] [datetime] NOT NULL,
[DateActivated] [datetime] NULL,
[Deactivated] [datetime] NULL,
[DateUpdated] [datetime] NULL,
[CreatedBy] [varchar](50) NOT NULL,
[UpdatedBy] [varchar](50) NOT NULL,
[EmailAddress] [varchar](50) NULL,
[ContactNumber] [int] NULL,
[Picture] [varbinary](max) NULL,
CONSTRAINT [PK_UserCredential_1] PRIMARY KEY CLUSTERED
(
[UserCredentialId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
我已将其设置为 (newid()) 但仍然无法正常工作。
【问题讨论】:
-
你能发布你的SQL表脚本吗?我的意思是创建一个。
-
newid()设置了什么? -
只是简单的 newid()。仅此而已。
-
我认为他将字段的字段属性列表中的DefaultValueForBinding设置为NEWID()。
标签: sql sql-server entity-framework tsql uniqueidentifier