Есть еще один вариант: вы можете «спрятать» фактическое свойство, например, с помощью protected
модификатор доступа и добавление свойства "fake" public
к частичному классу сущности, которое будет шифровать / расшифровывать это internal
в получателе / установщике, поэтому оно будет прозрачным для потребителя:
.dbml файл:
<Column Name="Password"
Member="PasswordInternal"
AccessModifier="Protected"
Type="System.String"
DbType="Varchar(64) NOT NULL"
CanBeNull="false" />
и затем в частичном классе:
public partial class YourEntity
{
public string Password
{
get
{
return Crypter.Decrypt(this.PasswordInternal)
}
set
{
this.PasswordInternal = Crypter.Encrypt(value)
}
}
}