0

我有一个使用注册新用户WebSecurity.CreateUserAndAccount(model.UserName, model.Password)的方法问题是在UserProfile模型中我添加了一个GUID密钥。在我的本地机器上,当我调用此方法时,它只会填充一个空的 Guid。然而,在天蓝色上,我收到以下错误:

   System.Data.SqlClient.SqlException (0x80131904): Cannot insert the value NULL into column 'Key', table 'Scheduler.dbo.UserProfile'; column does not allow nulls. INSERT fails.

现在,我尝试在模型的构造函数中生成一个新的 GUID,手动Set{}生成一个新的 GUID,我得到了同样的错误。

当我尝试使用 CreateUserAndAccount 重载时:

 WebSecurity.CreateUserAndAccount(model.UserName, model.Password, new { Key = Guid.NewGuid() });

我收到以下语法错误(运行时):

 Incorrect syntax near the keyword 'Key'.

我花了一大早上的时间试图弄清楚这一点,但我做不到。顺便说一句,上述所有方法仍会导致 GUID 为空00000000-0000-0000-0000-000000000000,并且重载在我的本地机器上给了我语法错误。

4

1 回答 1

0

"Key" 是 SQL 中的保留字,应该放在括号里,像这样 [Key]

由于您无法控制 WebSecurity 如何生成 SQL 查询,因此您唯一的选择是将其重命名为 UserKey

于 2013-12-12T10:36:49.487 回答