使用LINQ加密列数据

nik*_*3ro 2 c# linq sql-server asp.net linq-to-sql

我想知道是否有简单的解决方案或我坚持以下:

更新DB时:

dti.Pass = Crypter.Encrypt(dti.Pass);
_db.SubmitChanges();

从DB中选择时:

Data.DbTableItem dti = _db.Single(a=>a.Id == id);
dti.Pass = Crypter.Decrypt(dti.Pass);

意义 - 我并不是在编写重复的代码,这似乎是LINQ支持的逻辑事情; 所以我想知道是不是.

SDR*_*yes 6

您可以添加一个带有封装此逻辑的属性的分部类,如:

public partial class DbTableItem
{
  public String UnencryptedPass
  {
    get
    {
       return  Crypter.Decrypt(this.Pass);
    }

    set
    {
       this.Pass = Crypter.Encrypt(value)
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你 : )