首页 / 知识
流畅的 NHibernate 架构问题
2023-04-15 16:54:00

Fluent NHibernate Architecture Question我有一个问题,我可能在这一点上想多了,但这里是…… 我有 2 个类用户和组。用户和组有多对多的关系,我想加入表 group_users 我想要一个 IsAuthorized 属性(因为有些组是私有的——用户需要授权)。 您是否建议为连接表以及用户和组表创建一个类?目前我的class看起来像这样。
我的映射在两个类中都如下所示(我只在用户映射中显示了一个,但它们非常相似):
我应该为看起来像这样的连接表编写一个类吗?
我真的很希望能够调整组成员身份,我想我正在努力思考解决此问题的最佳方法。 我通常只喜欢创建代表实际业务实体的类。在这种情况下,我认为 'groupmembers' 在您的代码中不代表任何有价值的东西。对我来说,ORM 应该将数据库映射到您的业务对象。这意味着您的类不必完全反映数据库布局。 我还怀疑,通过实现 GroupMembers,您最终会在用户和组类中得到一些讨厌的集合。 IE。组类将具有用户列表以及引用用户的组成员列表,反之亦然。对我来说,这不是那么干净,并且会使维护和传播对表的更改变得更加困难。 我建议按照您的建议将连接表保留在数据库中,并在用户中添加一个名为 waitingtoaccept 的组列表,并且(如果也有意义的话)在组中添加一个名为 waitingtoaccept 的用户列表。 然后,这些将根据 waitingtoaccept 标志从数据库中的连接表中提取它们的值。 是的,你肯定需要另一个类,比如 UserGroupBridge。另一个好的副作用是您可以修改用户成员资格和组成员,而无需将潜在的繁重用户/组对象加载到 NHibernate 会话。 干杯。 |
最新内容
相关内容
linux命令所有用户?
linux命令所有用户?,系统,密码,信息,情况,名称,命令,用户,时间,地址,位置,如何查询linux系统中所有用户的用户名和密码首先进入到linux桌面,在linux命令进入用户?
linux命令进入用户?,系统,密码,用户,地址,信息,软件,命令,用户名,联系方式,电脑,linux进入第一次启动+怎么样创建用户?1、进入Linux系统,登陆管linux命令用户管理?
linux命令用户管理?,系统,密码,管理,工作,信息,地址,工具,命令,用户,基础,LInux用户管理查看/etc/group文件,只存在名称为modifiedgroup的用户linux用户与组的命令?
linux用户与组的命令?,管理,系统,名称,用户组,密码,用户,命令,情况,信息,单位,Linux里面groups+用户命令作用是什么?1、在Linux中,用户组是一种关于linux命令连接符?
关于linux命令连接符?,位置,数据,链接,系统,概念,档案,文件,符号,节点,命令,linux中,什么是连结档,链接,链接目录1、Linux中包括两种链接:硬链linux连接命令怎么用?
linux连接命令怎么用?,工作,地址,系统,网络,工具,信息,服务,命令,标准,名字,Linux的管道命令如何使用?1、管道命令只处理前一个命令正确输出,不linux添加用户的命令?
linux添加用户的命令?,密码,系统,软件,联系方式,用户,新增,信息,管理人员,命令,用户名,linux添加用户名1、打开xshell软件,远程访问您的服务器linux查看用户权限命令?
linux查看用户权限命令?,系统,信息,时间,命令,密码,数字,状态,名称,设备,文件,linux查看文件权限?1、打开linux系统,在linux的桌面的空白处右击linux看系统用户命令?
linux看系统用户命令?,系统,信息,密码,命令,服务,名称,网络,情况,软件,工具,Linux查看所有用户用什么命令输入“cat /etc/passwd”命令查看所linux赋权用户命令?
linux赋权用户命令?,系统,密码,用户,权限,地址,状态,数字,软件,管理,电脑,Linux系统下用户以及权限管理字段5:用户信息记录字段 字段6:用户的家linux加软连接命令?
linux加软连接命令?,位置,系统,设备,链接,文件,交通,信息,数据,对比,地方,在Linux下同时为多个文件创建软连接1、是。软链接类似于windows系统linux基本命令授权?
linux基本命令授权?,系统,工作,信息,命令,工具,状态,一致,管理,管理系统,基础,Linux系统下用户以及权限管理1、第一类:root(超级管理员),UID为0,这