NHibernate使用NHibernate.mapping.Attributes进行简单的一对多映射
有谁能给我提供一个web链接,它可以非常清楚地描述基于属性的简单一对多映射 例如(一家公司只能有一个原产国,但一个国家有许多公司):NHibernate使用NHibernate.mapping.Attributes进行简单的一对多映射,nhibernate,Nhibernate,有谁能给我提供一个web链接,它可以非常清楚地描述基于属性的简单一对多映射 例如(一家公司只能有一个原产国,但一个国家有许多公司): class公司 { } 阶级国家 { IList项目; } 对于您的示例类,使用袋子进行无序收集: using Map = NHibernate.Mapping.Attributes; [Map.Class( 0, Table = "country", NameType=typeof(Country) )] public class Country {
class公司
{
}
阶级国家
{
IList项目;
}
对于您的示例类,使用袋子进行无序收集:
using Map = NHibernate.Mapping.Attributes;
[Map.Class( 0, Table = "country", NameType=typeof(Country) )]
public class Country
{
[Map.Id( 1, Name = "Id" )]
[Map.Generator( 2, Class = "identity" )]
public virtual int Id { get; set; }
[Map.Property]
public virtual string Name { get; set; }
[Map.Bag( 0, Table = "country_company" )]
[Map.Key( 1, Column = "countryid" )]
[Map.OneToMany( 2, ClassType = typeof( Company ) )]
public virtual IList<Company> Items { get; set; }
}
[Map.Class( 0, Table = "country_company", NameType = typeof( Company ) )]
public class Company
{
[Map.Id( 1, Name = "Id" )]
[Map.Generator( 2, Class = "identity" )]
public virtual Guid Id { get; set; }
[Map.Property]
public virtual string Name { get; set; }
}
使用Map=NHibernate.Mapping.Attributes;
[Map.Class(0,Table=“country”,NameType=typeof(country))]
公营国家
{
[Map.Id(1,Name=“Id”)]
[Map.Generator(2,Class=“identity”)]
公共虚拟整数Id{get;set;}
[地图.物业]
公共虚拟字符串名称{get;set;}
[地图袋(0,Table=“国家/地区公司”)]
[Map.Key(1,Column=“countryid”)]
[Map.OneToMany(2,ClassType=typeof(Company))]
公共虚拟IList项{get;set;}
}
[Map.Class(0,Table=“country\u company”,NameType=typeof(company))]
公营公司
{
[Map.Id(1,Name=“Id”)]
[Map.Generator(2,Class=“identity”)]
公共虚拟Guid Id{get;set;}
[地图.物业]
公共虚拟字符串名称{get;set;}
}
生成以下hbm.xml文件:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="nh.Country, nh" table="country">
<id name="Id">
<generator class="identity" />
</id>
<property name="Name" />
<bag name="Items" table="country_company">
<key column="countryid" />
<one-to-many class="nh.Company, nh" />
</bag>
</class>
<class name="nh.Company, nh" table="country_company">
<id name="Id">
<generator class="identity" />
</id>
<property name="Name" />
</class>
</hibernate-mapping>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="nh.Country, nh" table="country">
<id name="Id">
<generator class="identity" />
</id>
<property name="Name" />
<bag name="Items" table="country_company">
<key column="countryid" />
<one-to-many class="nh.Company, nh" />
</bag>
</class>
<class name="nh.Company, nh" table="country_company">
<id name="Id">
<generator class="identity" />
</id>
<property name="Name" />
</class>
</hibernate-mapping>