我的数据库中有一个名为Password
type的列Varbinary(150)
。当我想在 web api 中查询该数据库时,例如:
var dbCon = ApplicationDbContext.Create(connectionStringUsers.ToString());
var users = dbCon.Users;
var list = users.ToList();
在最后一行我有这个错误:
'IdentityUser'4' 上的 'PasswordHash' 属性无法设置为 'System.Byte[]' 值。您必须将此属性设置为“System.String”类型的非空值。
它知道如果我将模式从类型更改Varbinary
为Varchar
它就会起作用。但我无法更改架构。我怎样才能破解这个解析?
谢谢
更新 1
也许是这样的:
modelBuilder.Entity<ApplicationUser>().ToTable("MyUsers", "dbo").Property(p => p.PasswordHash).HasColumnType("varbinary");
但我得到这个错误:
错误 2019:指定的成员映射无效。'OhmioWEBAPI.Models.ApplicationUser' 类型的成员 'PasswordHash' 的类型 'Edm.String[Nullable=True,DefaultValue=,MaxLength=Max,Unicode=True,FixedLength=False]' 与 'SqlServer.varbinary[ Nullable=True,DefaultValue=,MaxLength=8000,FixedLength=False]' 'CodeFirstDatabaseSchema.ApplicationUser' 类型的成员'Password'。