Encrypt column data with LINQ(使用 LINQ 加密列数据)
问题描述
我想知道是否有简单的解决方案,或者我坚持以下:
更新数据库时:
<前>dti.Pass = Crypter.Encrypt(dti.Pass);_db.SubmitChanges();从数据库中选择时:
<前>Data.DbTableItem dti = _db.Single(a=>a.Id == id);dti.Pass = Crypter.Decrypt(dti.Pass);含义 - 我并不是真的喜欢编写重复的代码,这似乎是 LINQ 支持的合乎逻辑的事情;所以我想知道是不是.
您可以添加具有封装此逻辑的属性的分部类,例如:
公共部分类 DbTableItem{公共字符串未加密通行证{得到{返回 Crypter.Decrypt(this.Pass);}放{this.Pass = Crypter.Encrypt(value)}}}
希望有帮助:)
I was wondering if there is easy solution to this or I'm stuck with following:
When updating DB:
dti.Pass = Crypter.Encrypt(dti.Pass); _db.SubmitChanges();
When selecting from DB:
Data.DbTableItem dti = _db.Single(a=>a.Id == id); dti.Pass = Crypter.Decrypt(dti.Pass);
Meaning - I am not really into writing repetitive code and this seems like logical thing to be supported by LINQ; so I'm wondering if it is.
You could add a partial class with a property encapsulating this logic like:
public partial class DbTableItem
{
public String UnencryptedPass
{
get
{
return Crypter.Decrypt(this.Pass);
}
set
{
this.Pass = Crypter.Encrypt(value)
}
}
}
Hope it helps : )
这篇关于使用 LINQ 加密列数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用 LINQ 加密列数据
基础教程推荐
- 使用 SED 在 XML 标签之间提取值 2022-01-01
- 创建属性设置器委托 2022-01-01
- C# - 如何列出发布到 ASPX 页面的变量名称和值 2022-01-01
- 我什么时候应该使用 GC.SuppressFinalize()? 2022-01-01
- 覆盖 Json.Net 中的默认原始类型处理 2022-01-01
- C# - 将浮点数转换为整数...并根据余数更改整数 2022-01-01
- Page.OnAppearing 中的 Xamarin.Forms Page.DisplayAlert 2022-01-01
- 当键值未知时反序列化 JSON 2022-01-01
- 从 VB6 迁移到 .NET/.NET Core 的最佳策略或工具 2022-01-01
- 如何使用OpenXML SDK将Excel转换为CSV? 2022-01-01