2)       含有关系的表的情况

含有关系的表指的是像学生这样,除了保存学生的基本信息,还希望把选课信息保存到学生的类中。这样情况下不能用软件来辅助产生对应的类和XML,这是NHibernate中唯一需要费脑筋学的地方。学生表对应的类和XML如下所示:

类文件(Student.cs

using System;

using Iesi.Collections;

namespace CodeTest{

public class Student{
                   public Student(){}

private int studentId;

private string studentName;

private string studentPassword;

private string emailAddress;

private DateTime dateCreated;

private ISet courses =

new HashedSet();

public int StudentId{

get { return studentId; }

set { studentId = value; }

}

public string StudentName{

get { return studentName; }

set { studentName = value; }         }

public string StudentPassword{

get { return studentPassword; }

set { studentPassword = value; }                   }

public string EmailAddress{

get { return emailAddress; }

set { emailAddress = value; }}

public DateTime DateCreated{

get { return dateCreated; }

set { dateCreated = value; }}

public ISet Courses{

get{return courses;}

set{courses=value;}

}

}

}

XML文件(Student.hbm.xml

<?xml version="1.0" encoding="utf-8" ?>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">

<class name="NHibernateTest.Student, NHibernateTest" table="Student">

<id name="StudentId" column="StudentId" type="Int32">

<generator class="native" />

</id>

<property name="StudentName" column= "StudentName" type="string" length="40"/>

<property name="StudentPassword" type="string" length="20"/>

<property name="EmailAddress" type="String" length="40"/>

<property name="DateCreated" type="DateTime" length="8"/>

<set name="Courses" table="StudentCourse" inverse="false">

<key column="StudentID"/>

<many-to-many column="CourseID" class=" NHibernateTest.Course, NHibernateTest "/>

</set>

</class>

</hibernate-mapping>

Nhibernate教程2(3)相关推荐

  1. NHibernate教程

    一.NHibernate简介 在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦.浪费时间的.NHibernate是一个面向.Net环境的对象/关系数据库映射工具.对象/关系数据库 ...

  2. NHibernate教程2(转载)

    三.NHibernate的使用 1. 配置NHibernate (1)NHibernate的配置文件有两种:在桌面应用程序(WinForm)中为App.config,在网页应用程序(WebForm)中 ...

  3. NHibernate教程(5)--CRUD操作

    NHibernate之旅(5):探索Insert, Update, Delete操作 2008-10-17 16:31 by 李永京, 42903 阅读, 73 评论, 收藏,  编辑 本节内容 操作 ...

  4. NHibernate Step by Step:序篇 (转)

    原文出处:http://www.cnblogs.com/abluedog/archive/2006/04/15/375676.html 原文作者:abluedog 很久以前,你可能习惯了connect ...

  5. 第一章:NHibernate的简介

    很久以前,你可能习惯了connection.open,command.execute("select...")这样的代码,写啊写啊,你开始不停地copy/paste,因为数据库的操 ...

  6. Succinctly 中文系列教程(二) 20220109 更新

    Succinctly .NET 本地化教程 零.简介 一.从本地化开始 二.日期和时间 三.周数 四.时区 五.数字 六.货币 七.文本 八.附录 Succinctly Linux 教程 一.简介 二 ...

  7. .NET开发必看资料53个+经典源码77个

    目录0豆下载:http://down.51cto.com/data/426019 附件预览: 基于.net构架的留言板项目大全源码 http://down.51cto.com/zt/70 ASP.ne ...

  8. 【珍藏】 2012.NET开发必看资料53个+经典源码77个—下载目录

    2019独角兽企业重金招聘Python工程师标准>>> .NET 是 Microsoft XML Web services 平台.XML Web services 允许应用程序通过I ...

  9. 【资料目录收藏】.NET开发必看资料53个+经典源码77个

    简单描述:为大家整理了下载中心.net资料,都是比较热的,好评率比较高的,做了一个可收藏的下载目录,希望大家喜欢~ 目录0豆下载: http://down.51cto.com/data/426019 ...

最新文章

  1. NodeJS Events模块源码学习
  2. 《研磨设计模式》chap10 中介者模式Mediator(1)简介
  3. Oracle 原理: 闪回 flashback
  4. 公钥和私钥怎么生成_科普 | Eth2 验证者如何生成和保护取款密钥
  5. postgresql 安装使用
  6. 今天看了风云II 后悔了
  7. Callback模式和Template模式
  8. 根据姓名判断性别-人工智能
  9. SpringBoot实现MySQL读写分离
  10. 小红花代表什么_《送你一朵小红花》:细品后才知道,结尾处的平行世界代表着什么...
  11. jQuery常用插件
  12. ASC18世界大学生超算竞赛题目分析以及思路总结
  13. mysql显示1146_MySQL查询报错:ERROR 1146 (42S02): Table 'craw.sitePageConfig' doesn't exist
  14. 【论文阅读】Iterative Answer Prediction with Pointer-Augmented Multimodal Transformers for TextVQA
  15. 幼麟棋牌技术分享系列:H5棋牌游戏加载速度优化
  16. Logic Synthesis And Verification Algorithms Gary D. Hachtel Fabio Somenzi 第十章
  17. 沈剑架构师训练营,最新金九银十JAVA面试合集
  18. 【总结】GitHub的使用
  19. ctfshow摆烂杯
  20. KKT条件(Karush-Kuhn-Tucker)及二阶充分条件(The second-order sufficiency condition)

热门文章

  1. [DP/单调队列]BZOJ 2059 [Usaco2010 Nov]Buying Feed 购买饲料
  2. [BZOJ1880] [Sdoi2009] Elaxia的路线 (SPFA 拓扑排序)
  3. 英文Ubantu系统安装中文输入法
  4. tcp client.cs
  5. 谁说菜鸟不会数据分析--数据分析那些事儿
  6. 在用dw.GetSqlSelect()获得到的Sql语句出现PBSELECT( VERSION的解决办法
  7. 第四节:EF Core的并发处理
  8. flex label 换行
  9. linux chrome 安装过程记录
  10. 【PHP】xampp配置多个监听端口和不同的网站目录(转)