2012-02-06 59 views
0

我已經有一個表中的列已經通過SQL觸發器進行了非對稱加密。密鑰(通過密碼)駐留在SQL DB中。現在,我需要通過每xx分鐘運行的控制檯應用程序對其進行解密。通過LINQ的非對稱解密

我通過LINQ抓取所有字段並運行foreach循環並生成一些文本文件和xml文件等等。當我嘗試解密數據時出現問題。

所以,我有幾個選擇,但沒有一個讓我到任何地方。

  • 我試着運行ExecuteCommand,但我一直沒能解決如何打開擺在首位的非對稱密鑰。

  • 我試過運行一個存儲過程,然後通過LINQ調用它。但是,我可以通過結果循環來匹配它們(即,我應該在foreach內運行一個foreach)嗎?

  • 我試過12個不同的其他東西,無濟於事。 :)

無論如何,任何想法將不勝感激。我只需要獲取未加密的值(我可以在MSSQL中解密它們),然後將它們添加到我的工作流程中。

在此先感謝!

回答

0

我可能會使用一個視圖,並綁定一個新的Linq實體;假設你有SQL解密這些值。通過這種方式,您可以防止服務器往返,並且僅通過窗口顯示解密後的表值。

但是,如果你想能夠通過相同的實體更新表;那麼你不能。您必須通過表格映射進行更改 - 使用ID選擇要更新的正確實體。

+0

其實,我最終找出了一個通過ExecuteCommand來完成的方法!我運行它來匹配包含在foreach循環中的ID ......所以它會匹配。查詢看起來很棒。現在我的下一個問題是...(這太簡單了,但是我有這種情況): 如何從ExecuteCommand返回結果的字符串值?我知道這將只是一個領域。 – napo 2012-02-07 04:47:53