为了账号安全,请及时绑定邮箱和手机立即绑定

从 C# 中的对象中删除特定属性

从 C# 中的对象中删除特定属性

C#
杨魅力 2021-08-07 15:53:54
我正在对我的应用程序实施一些授权。我想实现具有某些角色和权限的用户只能看到某些属性。看一看:// User Modelstring lastname;string firstname;string birthdate;假设用户是管理员,因此他可以看到所有用户,但不允许他看到用户的生日。我创建了一个返回所有允许属性列表的类(如您所见,只有名字和姓氏):public class AllowedAttributes{    private List<string> AllowedAttributes = new List<string>();    public AllowedAttributes()    {        this.AllowedAttributes.Add("lastname");        this.AllowedAttributes.Add("firstname");    }    public List<string> GetAllowedAttributes()    {        return this.AllowedAttributes;    }}我的 NHibernate 查询如下所示:AllowedAttributes attributes = new AllowedAttributes();        var user = sessionService.GetDefaultSession()            .Query<User>()            // something like...            // .Select(attributes.GetAllowedAttributes())            .ToList();有人可以帮我解决一个正确的 NHibernate 查询吗?我只想获取列表中指定的属性。PS 在我的应用程序中,列表更长,所以只输入属性是行不通的。
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

您可以通过使用 NHibernate 投影来实现这一点。


查看完整回答
反对 回复 2021-08-07
  • 1 回答
  • 0 关注
  • 1263 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信