我最近使用加密列功能使用随机加密在SSMS中加密了一列。列的数据类型为varchar(200)
,C#中的属性为string
MaxLength(200)
。
我有这段代码:
var user = ctx.ActiveUsers
.Include(u => u.UserLocations.Select(ul => ul.Location.Region))
.Include(u => u.UserReadOnlyLocations)
.FirstOrDefault(u => u.Username == username);
其中UserReadOnlyLocations
是包含Location
作为导航属性的对象。
当我删除第一个或第二个.Include
所以只有一个时,这没有错误。但是,如果我按上述方式运行它,我会收到错误:
SqlException:操作数类型冲突:varchar与使用加密的varchar(200)不兼容(encryption_type ='RANDOMIZED',encryption_algorithm_name ='AEAD_AES_256_CBC_HMAC_SHA_256',column_encryption_key_name ='cek',column_encryption_key_database_name ='DB')collation_name ='Latin1_General_BIN2'< / p>
是否有修复/解决方法?