2010-08-05 6 views

Répondre

13

Fluent NHibernate offre une alternative aux fichiers de mappage XML standard de NHibernate. Plutôt que d'écrire des documents XML (fichiers .hbm.xml), NHibernate Fluent vous permet d'écrire des mappages dans du code C# fortement typé. Cela permet un refactoring facile, une lisibilité améliorée et un code plus concis.

mapping XML traditionnel HBM

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

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

    <property name="Name"> 
     <column name="Name" length="16" not-null="true" /> 
    </property> 
    <property name="Sex" /> 
    <many-to-one name="Mate" /> 
    <bag name="Kittens"> 
     <key column="mother_id" /> 
     <one-to-many class="Cat" /> 
     </bag> 
    </class> 
</hibernate-mapping> 

Courant NHibernate équivalent

public class CatMap : ClassMap<Cat> 
{ 
    public CatMap() 
    { 
    Id(x => x.Id); 
    Map(x => x.Name) 
     .Length(16) 
     .Not.Nullable(); 
    Map(x => x.Sex); 
    References(x => x.Mate); 
    HasMany(x => x.Kittens); 
    } 
}