簡體   English   中英

NHibernate映射類

[英]NHibernate mapping class

我是NHibernate的新手,需要幫助。 我有兩節課:

class Pop3
{
    public virtual long Id { set; get; }
    public virtual string HostName { set; get; }
    public virtual int Port { set; get; }
    public virtual bool UseSsl { set; get; }
}

class Email
{
    public virtual long Id { set; get; }
    public virtual string UserName { set; get; }
    public virtual string Password { set; get; }
    public virtual Pop3 Host { set; get; }
}

我需要將它們映射到NHibernate(使用Sqlite)。 Pop3類很容易

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                  assembly="TestAsm"
                  namespace="TestAsm.Entity.Mail">

  <class name="Pop3" table="pop3hosts">
    <id name="Id">
      <generator class="identity" />
    </id>
    <property name="HostName" />
    <property name="Port" />
    <property name="UseSsl" />
  </class>

</hibernate-mapping>

但是如何映射Email類包含Pop3類作為屬性? 我需要在Host屬性中設置Pop3.Id嗎? 但是我認為這是錯誤的方式。

我會說,此映射屬於最基本,最典型且有據可查的

一個例子,其中Pop3類被映射與many-to-one在塔Pop3Id

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                  assembly="TestAsm"
                  namespace="TestAsm.Entity.Mail">

  <class name="Email" table="email_table">
    <id name="Id" generator="identity" />

    <property name="UserName" />
    <property name="Password" />

    <many-to-one name="Host" column="Pop3Id" class="Pop3 " />

  </class>

</hibernate-mapping>

請檢查第21章。示例:父母/子女

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM