使用带有加密列的实体框架查询的多个包含会导致错误

时间:2018-04-23 03:36:30

标签: c# entity-framework always-encrypted

我最近使用加密列功能使用随机加密在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')collat​​ion_name ='Latin1_General_BIN2'< / p>

是否有修复/解决方法?

0 个答案:

没有答案