110,571
社区成员
发帖
与我相关
我的任务
分享
//读取上述config文件
NHibernate.Cfg.Configuration _cfg = new NHibernate.Cfg.Configuration();
_cfg.AddAssembly(ConfigurationManager.AppSettings["HBM_ASSEMBLY"]);
//ISessionFactory维护数据库的连接并进行管理,同时会保存所有持久对象的映射信息。
ISessionFactory sessionFactory = this._cfg.BuildSessionFactory();
//ISession是面向用户的主要接口,用于对象持久化,数据加载等操作
ISession session = sessionFactory.OpenSession();
//新建对象,赋值,用于做保存测试
W_User person = new W_User();
person.UID = "001";
person.UName = "Test";
//事务开始
ITransaction trans = session.BeginTransaction();
try
{
//保存对象
session.Save(person);
//提交事务
trans.Commit();
session.Close();
}
catch (Exception ex)
{
//回滚
trans.Rollback();
}
public class W_User
{
private System.String m_userID;
private System.String m_userName;
virtual public System.String UID
{
get
{
return m_userID;
}
set
{
m_userID = value;
}
}
virtual public System.String UName
{
get
{
return m_userName;
}
set
{
m_userName = value;
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" schema="dbo">
<class name="WareHouse.Entities.W_User,WareHouse.Entities" table="W_USER" >
<id name="UID" column="UID" type="System.String">
<generator class="assigned" />
</id>
<property name="UName" column="UName" type="System.String" />
</class>
</hibernate-mapping>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="nhibernate" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.1.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<appSettings>
<add key="HBM_ASSEMBLY" value="WareHouse.Entities" />
</appSettings>
<nhibernate>
<add key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider" />
<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="Data Source =192.168.10.17;Database=fth;User ID =yexx;Password =yexx" />
<add key="hibernate.connection.isolation" value="ReadCommitted" />
<add key="hibernate.show_sql" value="true" />
</nhibernate>
</configuration>