Nhibernate是基于ms.net的O/R Mapping持久框架,它从基于Java的Hibernate项目移植而来。O/R Mapping就是把对象到映射关系数据库的记录,简单的说就是能实现把一个对象存储为数据表中的一条记录和由一条记录创建一个相应的对象,数据表中的数据就是对象的属性。
我来讲下我接触的情况。
第一天中午决定学习Nhibernate。
下午开始看技术资料,大力推荐 张老三 narchitecture.net。然后就开始部署环境 。首先添加dll
然后web config 添加 注意需要在<system.web>的上部添加
<configSections>
<section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<nhibernate>
<add
key="hibernate.connection.provider"
value="NHibernate.Connection.DriverConnectionProvider"
/>
<!--
The valid strings for Isolation can be found in the documentation for the System.Data.IsolationLevel
Enumeration documentation. Use the member names - not the values.
-->
<!-- -->
<add
key="hibernate.connection.isolation"
value="ReadCommitted"/>
<add
key="hibernate.dialect"
value="NHibernate.Dialect.MsSql2000Dialect"
/>
<add
key="hibernate.connection.driver_class"
value="NHibernate.Driver.SqlClientDriver"
/>
<add
key="hibernate.connection.connection_string"
value="database=test1;uid=sa;pwd=nic;"
/>
</nhibernate>
编译通过。。。。。。 下班了:)
第二天继续学习Nhibernate。
影射的xml文件一定不要直接从网上复制下来直接用
注意<class name="nh.Parent,nh" table="Parents"> 需要表明类名
当然用工具直接生成最好:)
xml需要修改属性 改为嵌入资源
之后 我成功的对一个表进行添加、修改、删除操作。
注意修改删除 需要BeginTransaction
开始看hql 为什么一直出错!!!!!!
中午吃饭时间 下午继续
老板叫去开会:(
开完会 心情不好,工资要晚发了!!
找到错误原因了 因为O/R Mapping就是把对象到映射关系数据库的记录,所以hql需要填写的是对象 而不是表
from 后面的是类名 而不是表名 as 相当于对类的实例化 调试通过!
下一步就是表关系的处理了。
........