nhibernate的一对多关系
来源:互联网 发布:义乌淘宝摄影培训 编辑:程序博客网 时间:2024/06/05 09:02
栏目类(一)(栏目包含多个类别)
数据字典
1.1.表Tb_ Subject(栏目表)
表名Tb_ Subject
列名 空/非空数据类型(精度范围)约束条件
ID N intPK, 流水号
SubjectName N nvarchar(200) 栏目名称
1.2.表Tb_ Class(类别表)
表名Tb_ Class
列名 空/非空数据类型(精度范围)约束条件
ID N intPK, 流水号
SubjectID N Int 栏目id
ClassNameN nvarchar(200) 类别名称
实体类:
public class TbSubject
{
#region Field Members
private int _id;
private string _subjectname;
private ICollection _classes;
#endregion End of Field Members
#region Default Class Constuctor
public TbSubject()
{
_id = 0;
_subjectname = String.Empty;
}
#endregion End of Default Class Constuctor
#region Property Members
/// <summary>
///
/// </summary>
public virtual int ID
{
get { return _id; }
set { _id = value; }
}
/// <summary>
///
/// </summary>
public virtual string SubjectName
{
get { return _subjectname; }
set { _subjectname = value; }
}
/// <summary>
///
/// </summary>
public virtual ICollection Classes
{
get { return _classes; }
set { _classes = value; }
}
#endregion End of Property Members
}
对应映射文件
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="hicity_test.Models.TbSubject, hicity_test" table="Tb_Subject">
<id name="ID" column="ID" type="System.Int32" unsaved-value="0">
<generator class="identity" />
</id>
<property name="SubjectName" column="SubjectName" type="System.String" not-null="true" />
<!--一个Subject对应多个class -->
<set name="Classes" inverse="true" table="Tb_Class" cascade="all">
<key column="SubjectID" foreign-key="FK_SubjectClass"/>
<!--一个Subject对应多个class-->
<one-to-many class="hicity_test.Models.TbClass, hicity_test" />
</set>
</class>
</hibernate-mapping>
类别(多)
public class TbClass
{
#region Field Members
private int _id;
private int _subjectid;
private string _classname;
private TbSubject _subject;
#endregion End of Field Members
#region Default Class Constuctor
public TbClass()
{
_id = 0;
_subjectid = 0;
_classname = String.Empty;
}
#endregion End of Default Class Constuctor
#region Property Members
/// <summary>
///
/// </summary>
public virtual int ID
{
get { return _id; }
set { _id = value; }
}
/// <summary>
///
/// </summary>
public virtual int SubjectID
{
get { return _subjectid; }
set { _subjectid = value; }
}
/// <summary>
///
/// </summary>
public virtual string ClassName
{
get { return _classname; }
set { _classname = value; }
}
/// <summary>
///
/// </summary>
public virtual TbSubject Subject
{
get { return _subject; }
set { _subject = value; }
}
#endregion End of Property Members
}
对应映射文件
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="hicity_test.Models.TbClass, hicity_test" table="Tb_Class">
<id name="ID" column="ID" type="System.Int32" unsaved-value="0">
<generator class="identity" />
</id>
<!--
<property name="SubjectID" column="SubjectID" type="System.Int32" />-->
<property name="ClassName" column="ClassName" type="System.String" not-null="true" />
<!--一个class属于一个Subject-->
<many-to-one name="Subject" cascade="all"
outer-join="auto"
update="true"
insert="true" column="SubjectID"
not-null="true" class="hicity_test.Models.TbSubject, hicity_test" foreign-key="FK_SubjectClass"/>
</class>
</hibernate-mapping>
测试:
TbSubject subject=TbSubjectBLL.LoadById(1);
foreach (TbClass model in subject.Classes)
{
String s=model.ClassName;
};
OK!
- nhibernate的一对多关系
- Nhibernate一对多关系
- nhibernate 一对多的配置关系
- NHibernate初探 一对多关系测试
- [NHibernate]一对多关系(关联查询)
- [NHibernate]一对多关系(关联查询)
- NHibernate之旅(9):探索父子关系(一对多关系)
- NHibernate之旅(9):探索父子关系(一对多关系)
- NHibernate之旅(9):探索父子关系(一对多关系)
- 自己对NHibernate一对多,多对一关系映射的一些心得
- NHibernate一对多,多对一关系映射的一些心得 .
- 七、NHibernate关系之——一对多
- [NHibernate]一对多关系(级联删除,级联添加)
- 【转】[NHibernate]一对多关系(级联删除,级联添加)
- Hibernate 一对多的关系
- sqlalchemy 的一对多关系
- Hibernate一对多的关系
- NHibernate:一对多,多对一关系映射之修改,删除
- prefwindow标签简单说明
- Meego:阿汤学QT--QWidget modules
- PES流
- velocity语法
- C#索引器详解
- nhibernate的一对多关系
- 人机版五子棋两种算法概述
- 远处否?
- basemap
- 求解所有集合中和为给定值的组合
- 直接召唤系与IoC fashion使用Spring
- 有关web上传execel写入数据库的方法.
- Scrum is fine, but don't leave the XP at home
- 为了健康一定要看哦