[英]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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.