C# 通过LINQ的非对称解密

C# 通过LINQ的非对称解密,c#,sql-server,linq,encryption,C#,Sql Server,Linq,Encryption,表中有一列通过SQL触发器进行了非对称加密。密钥(通过密码)位于SQL数据库中。现在,我需要通过每xx分钟运行一次的控制台应用程序对其进行解密 我通过LINQ获取所有字段,运行foreach循环,生成一些文本文件和xml文件等等。当我试图解密数据时,问题就出现了 所以,我有几个选择,但没有一个能让我成功 我曾尝试运行ExecuteCommand,但首先无法解决如何打开非对称密钥的问题 我尝试运行一个存储过程,然后通过LINQ调用它。但是我是否可以循环遍历结果以匹配它们(即,我是否应该在fore

表中有一列通过SQL触发器进行了非对称加密。密钥(通过密码)位于SQL数据库中。现在,我需要通过每xx分钟运行一次的控制台应用程序对其进行解密

我通过LINQ获取所有字段,运行foreach循环,生成一些文本文件和xml文件等等。当我试图解密数据时,问题就出现了

所以,我有几个选择,但没有一个能让我成功

  • 我曾尝试运行ExecuteCommand,但首先无法解决如何打开非对称密钥的问题

  • 我尝试运行一个存储过程,然后通过LINQ调用它。但是我是否可以循环遍历结果以匹配它们(即,我是否应该在foreach内部运行foreach)

  • 我试过12种不同的方法,但都没用。:)


无论如何,任何想法都将不胜感激。我只需要获取未加密的值(我可以在MSSQL中很好地解密它们)并将它们添加到我的工作流中。

我可能会使用一个视图,并将一个新的Linq实体绑定到该视图;这是假设您有SQL来解密这些值。通过这种方式,您可以防止到服务器的往返,只需让它在解密的表值上显示一个窗口即可


但是如果您希望能够通过相同的实体更新表;那你就不能了。您必须通过表映射进行更改—使用ID选择要更新的正确实体。

实际上,我最终找到了通过ExecuteCommand进行更改的方法!我运行它来匹配foreach循环中包含的ID。。。所以它会匹配的。这个查询似乎很有效。现在我的下一个问题是。。。(这太简单了,但我这里有一个油炸大脑的例子):如何从ExecuteCommand返回结果的字符串值?我知道这只是一个领域。