12

我正在尝试使用 SQL Server 2016 中的“始终加密”功能来加密某些列。我使用这篇文章作为指南,将列设置为在 SSDT 中加密。

那部分很好,当我尝试从应用程序中查询数据时,我得到了一个错误。根据文档,我需要添加以下内容:

column encryption setting=enabled

到我的连接字符串。Entity Framework Core 似乎不支持此功能。我收到此错误:

不支持列加密设置=启用

我也尝试使用SqlConnectionStringBuilder来构建字符串,但不存在添加该设置的能力。它似乎确实存在于 .NET 4.6 中。

那么,是否有人知道使用 Always Encrypted 从 .NET Core 应用程序连接到 SQL Server 实例的方法?

4

5 回答 5

5

.Net Core 目前不支持 Always Encrypted

您可以在此处找到支持的框架列表

添加对 .NET 核心的支持在我们的路线图上,我们还没有时间表

请关注此 github 问题以获取更新

于 2016-12-16T00:33:35.493 回答
2

.NET Core 3.0 Preview 5现在通过用于 Microsoft SQL Server的新Microsoft.Data.SqlClient数据提供程序支持 Always Encrypted 。

于 2019-05-15T11:17:41.727 回答
1

这里只提

Microsoft.data.sqlclient

于 2019-12-05T23:01:57.937 回答
1

正如 MS 人员所提到的 - .Net Core 目前不支持 Always Encrypted。

  • 我们遇到了同样的情况,最后我们不得不让Core WebApp 以 .NET Full Framework 为目标,没有其他选择。

  • 即,目前不兼容netcoreapp1.1 (.NETCoreApp,Version=v1.1) 兼容net452 (.NETFramework,Version=v4.5.2)

  • 来自论坛 - “尽管 EF Core 可以用于 AE 功能,但底层的 .NET Core SQL 客户端目前仍然不支持 AE,它将成为他们(MS + Opensource ontributors)未来的里程碑来支持它”

有关此问题的最新更新,请参阅此GitHub 页面:

于 2017-08-16T11:31:03.233 回答
1

从 .net Core 3.1 开始支持此功能。我让它在生产场景中运行 请参阅我对这个 stackoverflow 问题的回答(使用 EFCore 和 Azure KeyVault):SQL Server Always Encrypted with .NET Core not compatible

于 2020-03-05T10:54:04.033 回答