zoukankan      html  css  js  c++  java
  • Nhibernate教程2(3)

    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>

  • 相关阅读:
    第十四周学习进度总结
    第十三周学习进度总结
    第十二周学习进度总结
    第十一周学习进度总结
    第十周学习进度总结
    第九周学习进度总结
    第八周学习进度总结
    day16-机器学习十讲第一讲
    day15-验证码识别
    day14-卷积网络识别手写数字
  • 原文地址:https://www.cnblogs.com/aaa6818162/p/1538339.html
Copyright © 2011-2022 走看看