Fluent NHibernate 系列(一)Fluent Nhibernate简介

关于Fluent NHibernate(官网下载  http://fluentnhibernate.org/

      Fluent NHibernate能够取代标准的XML映射文件(.hbm.xml files)。和传统的XML文件相比,Fluent NHibernate能够让你用强类型的C#代码来书写。因此,这样更容易重构,阅读,而且语句更加的精炼。

  同时Fluent NHibernate还提供了其他的工具: 

              1、自动映射-根据您设计的实体自动推断出映射文件

              2、持久化具体测试-能够不用写任何增删改语句就可以反复测试实体类

              3、应用程序配置-通过Fluent NHibernate的API可以进行应用程序配置

              4、数据库配置-能够用C#代码配置数据库

  为什么取代HBM.XML映射文件

     1、编译器不会鉴定XML文件

     2、XML文件是冗余的

     3、NHibernate的HBM映射文件必须重复的指明相同的规则,比如string属性必须不为空

传统的HBM映射文件

<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>  20
</hibernate-mapping>


Fluent NHibernate实现相同的效果

        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);
            }
        }



 

猜你喜欢

转载自blog.csdn.net/aa466564931/article/details/8123690