我使用 LINQ-to-SQL 编写了一个应用程序,该应用程序将 Web 表单提交到数据库中。我使用存储库模式抽象出 LINQ-to-SQL。
此存储库具有基本方法:Get()、Save() 等。
作为项目的开发,我需要对表单中的某些字段进行加密。这很简单,因为我刚刚将加密调用添加到存储库中的 Get()、Save() 方法。
现在,我想在它上面放置一个 oData 层,以允许从 MS Excel 2010 中提取 RESTful(当它出现时)。在偶然发现一些无用的错误消息等之后,我有了这个工作。
但是,显然,那些加密字段仍然是加密的。我的存储库模式会为我解密这些。据我所知,我必须将我的 oData 服务直接绑定到 LINQ-to-SQL 上下文以使架构等工作 - 除非我进入一个痛苦的世界(任何 URL 赞赏)。
有没有办法可以将我的加密/解密层插入到请求中,以便“即时”完成解密?我查看了 DataService 的 OnStartProcessingRequest() 重载,但这似乎没什么用。