数据库表是这样:
用户表:userinfo{userid varchar(50),username varchar(50),userpassword varchar(50)}
角色表:roleinfo{roleid int,rolename varchar(50),description varchar(100)}
用户角色关联表:userrole{userid,roleid}用户和角色是多对多的关系
请问这个关系的实体类应该怎么设计好呢
我看到有些orm设计中有什么 “单向”关联关系和“双向”关联关系,不知道是什么意思,
帮忙解释下好吗?
用户表:userinfo{userid varchar(50),username varchar(50),userpassword varchar(50)}
角色表:roleinfo{roleid int,rolename varchar(50),description varchar(100)}
用户角色关联表:userrole{userid,roleid}用户和角色是多对多的关系
请问这个关系的实体类应该怎么设计好呢
我看到有些orm设计中有什么 “单向”关联关系和“双向”关联关系,不知道是什么意思,
帮忙解释下好吗?
解决方案 »
- 在server 2003系统下vs2008开发的winform程序在win7下显示不了数据咋回事???
- 是国外的.net技术好,还是我们国内的技术不行啊。
- checkbox
- 查询结果不能翻页,请高手帮帮忙,
- 邮件解码报错 Base-64 字符串中的无效字符 ??????
- 从本机导入数据到服务器??
- 问个超级菜的问题,关于datagrid控件的。
- 求一 asp.net做的在线考试系统算法
- ASP.net中打印问题请教高手
- 100分求助 Gridview 即时搜索, 用JavaScript(JQuery),如何在GridView中嵌入一个ComboBox,实现对下拉数据的搜索
- loginview使用问题
- 怎么用C#打开文件
就不知道怎么设计实体类了,设计了之后对应的dal数据读取应该怎么读好(从性能上考虑)
双向关联:两个类都知道另一个类的公共属性和操作。单向关联:只有一个类知道另外一个类的公共属性和操作。大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类
可看看Hibernate
http://blog.csdn.net/sokhoi/archive/2007/07/08/1682429.aspx
orm不了解,偶也正想学。
4楼的兄弟和我想的差不多,但是我想做的在role类里面需不需要一个属性List<user>
List<userInfo>
这两个都单独
role类里面不需要一个属性List <user>我今天刚做完一个后台管理权限系统。
参考:
http://www.noahweb.net/mail/2/Project.htm
http://blog.sina.com.cn/s/blog_5ec08bd50100csxw.html
这要看你所实际使用的orm的能力高低问题。如果是能力较高的orm,你可以这样设计协议public UserRole
{
UserInfo User{get;set;}
RoleInfo Role{get;set;}
}也就是说较高能力的ORM可以很好地支持OO设计。而较低能力的ORM可能根本不能支持。所以你要搞明白你所选择的所谓ORM是个什么货色,如果它在支持OO方面能力较低,就不得不重新拿出过去ADO.NET操作关系数据库那套做法来。
IEnumerator<Role>对于更高级和更低级的实现方法的兼容性更好。其实如果你了解了Linq,我就不赞成你再使用List<T>这个类型了。让我们把List<T>留给那些不懂Linq的架构师继续使用去吧。
还是那句话,你早晚还是要把代码落到实处。所以如果你定义了这个所谓“实体类”,结果你的ORM不能很好地、自动化地实现其接口协议,你定义这样高级的接口协议反而是自找麻烦。
{
UserInfo User{get;set;}
RoleInfo Role{get;set;}
}