首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server TDE和LINQ

SQL Server TDE和LINQ
EN

Stack Overflow用户
提问于 2014-03-01 20:07:57
回答 1查看 907关注 0票数 2

我需要使用TDE进行数据保护,并防止DBA看到数据。我们当前的数据访问层使用LINQ来访问没有TDE的SQL。如果数据库被转换为带有加密列的TDE,我们必须让LINQ生成如下所示的查询:

代码语言:javascript
复制
OPEN SYMMETRIC KEY MyKey
DECRYPTION BY PASSWORD = 'mypassword';

SELECT CONVERT(VARCHAR(MAX), DECRYPTBYKEY(MyEncryptedCol))
FROM dbo.MyEncryptedTable;

CLOSE SYMMETRIC KEY MyKey;

用最小的努力来转换我们现有的数据层的最好方法是什么?我更喜欢继续使用LINQ。

当前使用Server 2012,.Net 4.5,C#

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-01 20:33:04

没什么。你基本上确保了你不能使用简单的LINQ和谁想出来的,应该得到一个解雇。

你能做什么-这取决于数据层。Yee,LINQ不是一种数据访问技术,它是C#集成查询,具体取决于提供者(Linq2Sql、实体框架、NHibernate)和您确保不提供任何信息。

无论如何,您的问题是您需要添加开始和结束sql命令--一些提供程序可以这样做--以及基本特殊的SQL命令,而且这些命令无法工作。

最好的机会是采用开源数据访问提供程序(NHibernate,Entity )并扩展它以允许这种功能。

否则,站在建筑师面前对他说:“嘿,你写了说明书--你有没有想过你必须确保它们是假的?”是另一种选择。THis是真正的非标准SQL,您需要在这里运行ORM,如果没有修改,ORM将不支持它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22119704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档