Jon*_*yce 5 sql-server entity-framework azure-keyvault always-encrypted
我使用Always Encrypted和存储在Azure Key Vault中的列主密钥对Azure SQL数据库中的某些列进行了加密,但是我无法使用Entity Framework从我的应用程序访问它们.
最近有一篇MSDN文章和一篇较旧的博客文章解释了如何设置SqlConnection以使用Azure Key Vault的Always Encrypted,因此我猜测可以使用接受a 的构造函数创建普通的DbContext DbConnection
.
问题是我正在使用一个IdentityDbContext
没有那个构造函数的构造函数 - 唯一一个需要一个构造函数的构造函数,这个函数目前超出了我的工资等级.DbConnection
DbCompiledModel
任何人都可以解释如何设置IdentityDbContext
使用密钥保险库?
EF 团队似乎有一个使用加密的测试。
var connectionStringBuilder = new SqlConnectionStringBuilder(SqlServerTestStore.CreateConnectionString("adventureworks"))
{
Encrypt = encryptionEnabled
};
var options = new DbContextOptionsBuilder();
options.UseSqlServer(connectionStringBuilder.ConnectionString);
using (var context = new AdventureWorksContext(options.Options))
{
context.Database.OpenConnection();
Assert.Equal(ConnectionState.Open, context.Database.GetDbConnection().State);
}
Run Code Online (Sandbox Code Playgroud)
TODO:测试 IdentityDbContext 构造函数公开与 AdventureWorksContext 相同的构造函数。
归档时间: |
|
查看次数: |
1360 次 |
最近记录: |