其实,以下说的问题不是什么大事,只是自己在学习NHibernate时候遇到的问题,说出来让大家注意以下,都是一些细小的地方,但是这些地方不注意也不行。。。

一、实体的xml 文件区分大小写:


如实体类xml 文件中如果定义属性为UserID,那么在实体类的Cs文件中你也要定义属性UserID,大小写要一致,
不一致就会报错!

 1NHibernate初学问题总结二<?xml version="1.0" encoding="utf-8" ?> 
 2NHibernate初学问题总结二<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
 3NHibernate初学问题总结二    <class name="GoodFoodHelper.dinner, GoodFoodHelper" table="users">
 4NHibernate初学问题总结二        <id name="DinnerId" type="Int32">
 5NHibernate初学问题总结二            <generator class="identity" />
 6NHibernate初学问题总结二        </id>
 7NHibernate初学问题总结二        <property name="UserID" type="Int32"/>
 8NHibernate初学问题总结二        <property name="PlaceID" type="Int16"/>
 9NHibernate初学问题总结二        <property name="Price" type="Single"/>
10NHibernate初学问题总结二        <property name="OrderTime" type="DateTime"/>
11NHibernate初学问题总结二        <property name="Status" type="Int16"/>
12NHibernate初学问题总结二        <property name="PMID" type="Int32"/>
13NHibernate初学问题总结二        <property name="DinnerDesc" type="String"/>
14NHibernate初学问题总结二        
15NHibernate初学问题总结二        
16NHibernate初学问题总结二    </class>    
17NHibernate初学问题总结二</hibernate-mapping>
18NHibernate初学问题总结二


1NHibernate初学问题总结二    public int UserID
2        }




二、实体类中的数据类型要用C#中数据类型

如 hbm.xml文件中

<property name="GroupID" type="Int16"/>

不能写成

<property name="GroupID" type="SmallInt"/>


三、最好把公共配置的东西写在web.config中,否则你在类文件修改配置文件时,还需在复制此文件到WEb
工程的bin目录下面。

我开始把下面东西放入一个叫hibernate.cfg.xml的文件中去,可是后来修改了配置不起作用,后来发现
Web工程下面也有一份,把类库中修改好的配置文件覆盖过去就可以了!

NHibernate初学问题总结二<?xml version="1.0" encoding="utf-8" ?>
NHibernate初学问题总结二
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.0">
NHibernate初学问题总结二    
<session-factory name="GoodFoodHelper">
NHibernate初学问题总结二        
<!-- 属性 -->
NHibernate初学问题总结二        
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
NHibernate初学问题总结二        
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
NHibernate初学问题总结二        
<property name="connection.connection_string">server=.;database=BaiheDinner;uid=sa;pwd=sa;</property>
NHibernate初学问题总结二        
<property name="show_sql">false</property>
NHibernate初学问题总结二        
<property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
NHibernate初学问题总结二        
<property name="use_outer_join">true</property>
NHibernate初学问题总结二        
<property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
NHibernate初学问题总结二        
<!-- 映射文件 -->
NHibernate初学问题总结二        
<mapping assembly="GoodFoodHelper" />
NHibernate初学问题总结二    
</session-factory>
NHibernate初学问题总结二
</hibernate-configuration>
NHibernate初学问题总结二



四 、有个问题请教:

我看了 DDL 的 NHibernateWebDemo 一例 ,里面是用3层架构写的

业务层、实体层、和表示层 非常清晰、我想问如果我想把业务层和实体层合为一个可以吗?

然后我把实体类中写所有表示层需要的方法

例如 我把获得所有用户对象集合的方法,也写到力实体类 users中了,不知道这样写有什么缺点


 1NHibernate初学问题总结二public IList GetAllUsers(string strHQL)
 2        }

相关文章: