在我的User类中,我有一个SecureString密码。为了保存密码,我添加了UserPassword属性。
示例代码:
internal partial class User
{
public string ID { get; set; }
private string _password;
public SecureString Password
{
set { _password = SomePasswordHashing(value.ToString); }
}
public string UserPassword
{
get { return _password; }
set { _password = value; }
}
}
对于保存/检索UserPassword,此属性是否需要公开?
有没有办法不加载UserPassword属性(例如,在搜索用户时,我想排除加载所有用户的密码)?
答案 0 :(得分:2)
要保存/检索UserPassword,此属性是否需要 公开吗?
是。 EF-Code首先需要公开属性。
有没有办法不加载UserPassword属性(例如何时 搜索用户,我想排除加载所有用户' 密码)?
您可以在搜索排除密码时转换结果
var users = db.Users.Where(/* */).Select(u => new User{Name = u.Name});
或者使用没有密码属性的DTO类并返回DTO类而不是模型对象。