试了一晚上也没试出来,有Menu(功能) , Rights (功能的增删改查权限) ,Role(角色)3个domain
1、menu是功能
2、rights表示某个功能的有啥权限,如增删改查就是1111
3、一个role对应有多个rights
-----------------------
public class Menu
{
public int Id { get; set; }
public string MenuName { get; set; }
}
---------------------------
public class Rights
{
public int Id { get; set; }
public Menu Menu { get; set; }
public string RightsCode { get; set; } }
-----------------------
public class Role
{
public int Id { get; set; }
public string RoleName { get; set; }
public IList<Rights> Rights { get; set; }
}
-----------------------------
在conform里怎么描述他们的关系,才能做到
1、删除role的时候,rights的相关记录也删除,
2、删除menu的时候,rights的记录也删除,
3、删除rights的时候,role和menu不变
mapper.Class<Rights>(cm =>
{
cm.ManyToOne(cc => cc.Menu, mm =>
{
mm.Cascade(Cascade.All | Cascade.DeleteOrphans);
});
这样测试了一下也是错的
mm.Cascade(Cascade.Persist | Cascade.Remove);
这样也不对,是在是不会写了,help~
1、menu是功能
2、rights表示某个功能的有啥权限,如增删改查就是1111
3、一个role对应有多个rights
-----------------------
public class Menu
{
public int Id { get; set; }
public string MenuName { get; set; }
}
---------------------------
public class Rights
{
public int Id { get; set; }
public Menu Menu { get; set; }
public string RightsCode { get; set; } }
-----------------------
public class Role
{
public int Id { get; set; }
public string RoleName { get; set; }
public IList<Rights> Rights { get; set; }
}
-----------------------------
在conform里怎么描述他们的关系,才能做到
1、删除role的时候,rights的相关记录也删除,
2、删除menu的时候,rights的记录也删除,
3、删除rights的时候,role和menu不变
mapper.Class<Rights>(cm =>
{
cm.ManyToOne(cc => cc.Menu, mm =>
{
mm.Cascade(Cascade.All | Cascade.DeleteOrphans);
});
这样测试了一下也是错的
mm.Cascade(Cascade.Persist | Cascade.Remove);
这样也不对,是在是不会写了,help~
解决方案 »
- 关于.NET 中的get post 还是不大明白!
- 请问如何将EXCEL表中的数据导入到SQL中
- 如果获得当前时期,并且包括:年,月,日,小时,分钟,秒,毫秒
- datagrid/gridview冻结若干列
- 我在孟老大的网站上下载的源码怎么不能运行?
- 有谁知道象magbox、kkbox、qq音乐这些是怎么个实现的??
- ArrayList如何排序?
- 再提疑问,入门
- 急问???我想用此字符串:1#2#3#4#5#6#7#8......#450在窗体上画一线段组成的封闭图,如何能实现???
- csdn上对提问的回答返回的好象是XML,不是HTML,请问XML怎么按格式显示在网页中的
- 用户控件拉入主页面就显视不了图片
- 哪位大虾帮看下这个错误怎么调试吧
估计是吧。
系统会跳转到创建角色界面,这里你可能可以创建一个角色,也可以创建两个,三个之类的player。
也就是说 一个帐号,可以创建多个角色。
这样我们就说user表中的playerID与player中的playerID是多对一的关系映射。
<many-to-one
name="PropertyName" 属性名
column="column_name" 数据库字段名
class="ClassName" 关联的类的名字
cascade="all|none|save-update|delete" 级联关系
fetch="join|select" 抓取
update="true|false"
insert="true|false"
property-ref="PropertyNameFromAssociatedClass" 指定关联类的一个属性,这个属性将会和本外键相对应
access="field|property|nosetter|ClassName"
unique="true|false" 是否生成一个唯一约束
optimistic-lock="true|false"
not-found="ignore|exception" 指定外键引用的数据不存在时如何处理
/>
于是我们在User.hbm.xml中 把原来测试用的那个int型的playerID换成
<many-to-one name="player" class="Player" column="playerID" unique="true" cascade="all" />
这里顺便提一下,如果类中的属性名与其对应的表中对应的列名完全一样的话,我们可以缩写成这样:
<property name="userName"/>
<property name="userPwd"/>