NH表关系一对多分析
来源:互联网 发布:金山办公软件 编辑:程序博客网 时间:2024/05/12 03:43
nhibernate 表之间的几种关系不易把握,现根据个人学习,总结如下,共同学习,提高,
完整代码参见我的资源[NHibernateTestExampleforSqlServer20110109]
若有错误,请指出,
不甚感谢!
a.实体:
public class Parent
{
public Parent()
{
children = new HashedSet();
}
private Guid id;
private ISet children;
public virtual Guid Id
{
get { return id; }
set { id = value; }
}
public virtual ISet Children
{
get { return children; }
set { children = value; }
}
}
public class Child
{
public Child()
{
}
public virtual Guid Id { get; set; }
public virtual string Name { get; set; }
public virtual Parent Parent { get; set; }
}
b.映射:
<class name="Parent">
<id name="Id">
<generator class="guid" />
</id>
<!--由child控制,不生生更新语句,和一对一差不多-->
<set name ="Children" inverse="true" lazy="true">
<!--由parent控制,将产生更新语句-->
<!--<set name="Children" lazy="true">-->
<key column="parent_id"/>
<one-to-many class="Child"/>
</set>
</class>
<class name="Child">
<id name="Id">
<generator class="guid" />
</id>
<property name="Name"/>
<many-to-one name="Parent" class="Parent" column="parent_id"></many-to-one>
</class>
c.测试代码:
/// <summary>
/// 一对多,inverse设置是否产生第三语句的问题
/// </summary>
[Test]
public void CreateInitialDataOnetoMany()
{
#region 仅保存parent表,主动权在child
using (ISession session = _sessionFactory.OpenSession())
using (ITransaction transaction = session.BeginTransaction())
{
Parent p = new Parent();
Child c = new Child();
p.Children.Add(c);
c.Parent = p;
session.Save(p);
session.Save(c);
transaction.Commit();
}
#endregion
}
d.总结:
- NH表关系一对多分析
- NH表关系多对多分析
- hibernate 一对多关联关系(详细分析)
- mybatis一对多关系表
- 表关系:一对多,多对多
- HBase一对多关系的表结构设计
- HBase一对多关系的表结构设计
- sqlalchemy一对多的关系表案例
- HBase一对多关系的表结构设计
- hibernate之表关系中的一对多
- Mtbatis关系-一对多关系
- JAVA 一对多关系
- ibatis_一对多关系
- 一对多 关系映射
- 一对多关系映射
- 设置一对多关系
- Nhibernate一对多关系
- 一对多关系
- magento ----使用magento内部机制建立数据库表
- 与PHP5.3.5的战斗----记php5.3.5安装过程
- 我的2010总结,2011的展望!
- 实习生准则
- 冒泡排序
- NH表关系一对多分析
- 健康作息
- NH表关系多对多分析
- DELPHI操作excel
- 鲜有人知——3G技术竟源自一位艳丽女星
- Free Graphics Libraries, 2D, 3D Engines, Image Drawing Source Code
- Free Numerical, Mathematical, Statistics Libraries and Source Code
- jasperReport ClassLoader
- Windows 平台下 PKI 相关的一些知识