1

我想将 AlwaysEncrypted 应用于AspNetUsers中的UserName列。

我有一个数据库播种器,旨在插入一些不存在的用户。当我第一次运行应用程序并点击登录时,播种器执行,但它在这一行崩溃:

var result = this.userManager.Create(user, this.pass);

带有以下错误消息:

"Operand type clash: nvarchar(256) encrypted with (encryption_type = 'DETERMINISTIC', encryption_algorithm_name = 'AEAD_AES_256_CBC_HMAC_SHA_256', column_encryption_key_name = 'CEK_Auto1', column_encryption_key_database_name = 'TestDb') is incompatible with varchar\r\nStatement(s) could not be prepared."

结果通常不会在该行崩溃,而是会填充类似于Username is already taken的错误

如果我完全注释掉播种机,它会停在这一行而不返回任何内容:

var user = await userManager.FindAsync(model.UserName, model.Password);

为了让AlwaysEncryptedIdentity 的 UserName一起工作,我需要更改什么吗?

4

0 回答 0