我试图使用SQL Server 2016中的"始终加密"功能来加密某些列.我使用这篇文章作为指导,在SSDT中将列设置为加密.
那部分没问题,当我尝试从应用程序查询数据时出现错误.根据文档,我需要添加:
column encryption setting=enabled
Run Code Online (Sandbox Code Playgroud)
到我的连接字符串.实体框架核心似乎不支持此功能.我收到此错误:
不支持列加密设置=启用
我也尝试使用SqlConnectionStringBuilder构建字符串,并且没有添加该设置的功能.它确实出现在.NET 4.6中.
那么,是否有人知道使用Always Encrypted从.NET Core应用程序连接到SQL服务器实例的方法?
sql-server entity-framework-core sql-server-2016 asp.net-core always-encrypted
自EF Core 2.1起,尚不支持始终加密的SQL Server功能.
我正在使用SQL Server 2016和Azure SQL,并且所有客户端都是基于Windows的.
使用 .NET Core 3.1 和 SQL Always Encrypted 时出现以下错误。3.1支持这个吗?也许我在这里遗漏了一些东西..
Keyword not supported: 'column encryption setting'.
Run Code Online (Sandbox Code Playgroud)
目前已安装以下软件包
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.12.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
<PackageReference Include="Dapper" Version="2.0.30" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider" Version="1.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.1.1" />
<PackageReference Include="Serilog.AspNetCore" Version="3.2.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="3.0.1" />
<PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" />
<PackageReference Include="Serilog.Sinks.ApplicationInsights" Version="3.0.4" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
Run Code Online (Sandbox Code Playgroud)