NHibernate小项目解说

NHibernate小项目解说

完成了实体层 就该写中间层了,看了哪几篇文章后,对他们用的哪个EntityConrol感到非常好用,我也就几乎是照抄了一个,呵呵,拿来主意 吗,NHibernate小项目解说
添加一个 新建工程 guestbook.Dal
我把Sessionfactory 和 EntityControl分成了两个文件其主要代码为
NHibernate小项目解说usingSystem;
NHibernate小项目解说
usingSystem.Reflection;
NHibernate小项目解说
usingSystem.Data;
NHibernate小项目解说
usingSystem.Data.SqlClient;
NHibernate小项目解说
NHibernate小项目解说
usingNHibernate;
NHibernate小项目解说
usingNHibernate.Cfg;
NHibernate小项目解说
usingNHibernate.Dialect;
NHibernate小项目解说
usingNHibernate.Tool.hbm2ddl;
NHibernate小项目解说
NHibernate小项目解说
usingguestbook.data;
NHibernate小项目解说
namespaceguestbook.Dal
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说NHibernate小项目解说
///<summary>
NHibernate小项目解说///SessionFactory的摘要说明。
NHibernate小项目解说
///</summary>

NHibernate小项目解说publicclassSessionFactory
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说
privatestaticISessionFactorysessions;
NHibernate小项目解说
privatestaticConfigurationcfg;
NHibernate小项目解说
privatestaticDialectdialect;
NHibernate小项目解说
NHibernate小项目解说
publicSessionFactory()
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说
//
NHibernate小项目解说//TODO:在此处添加构造函数逻辑
NHibernate小项目解说
//
NHibernate小项目解说
}

NHibernate小项目解说
NHibernate小项目解说
publicstaticISessionOpenSession()
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说
if(sessions==null)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说BuildSessionFactory();
NHibernate小项目解说}

NHibernate小项目解说returnsessions.OpenSession();
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说
privatestaticvoidBuildSessionFactory()
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说NHibernate小项目解说ExportSchema(
newstring[]{
NHibernate小项目解说
"users.hbm.xml",
NHibernate小项目解说
"guestbook.hbm.xml"
NHibernate小项目解说}
,true);
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说
privatestaticvoidExportSchema(string[]files,boolexportschema)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说cfg
=newConfiguration();
NHibernate小项目解说
for(inti=0;i<files.Length;i++)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说cfg.AddResource(
"guestbook.data.hbm."+files[i],Assembly.Load("guestbook.data"));
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说dialect
=Dialect.GetDialect();
NHibernate小项目解说
if(exportschema)newSchemaExport(cfg).Create(true,true);
NHibernate小项目解说
NHibernate小项目解说sessions
=cfg.BuildSessionFactory();
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说}

NHibernate小项目解说}

NHibernate小项目解说

NHibernate小项目解说usingSystem;
NHibernate小项目解说
NHibernate小项目解说
usingNHibernate;
NHibernate小项目解说
usingguestbook.data;
NHibernate小项目解说
NHibernate小项目解说
namespaceguestbook.Dal
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说NHibernate小项目解说
///<summary>
NHibernate小项目解说///EntityContorl的摘要说明。
NHibernate小项目解说
///</summary>

NHibernate小项目解说publicclassEntityControl
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说
privatestaticEntityControlentity;
NHibernate小项目解说
NHibernate小项目解说
publicstaticEntityControlCreateEntityControl()
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说
if(entity==null)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说entity
=newEntityControl();
NHibernate小项目解说}

NHibernate小项目解说returnentity;
NHibernate小项目解说}

NHibernate小项目解说publicvoidaddEntity(Objectentity)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说ISessions
=SessionFactory.OpenSession();
NHibernate小项目解说ITransactiont
=s.BeginTransaction();
NHibernate小项目解说
try
NHibernate小项目解说NHibernate小项目解说{
NHibernate小项目解说s.Save(entity);
NHibernate小项目解说t.Commit();
NHibernate小项目解说}

NHibernate小项目解说catch(Exceptione)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说t.Rollback();
NHibernate小项目解说
throwe;
NHibernate小项目解说}

NHibernate小项目解说finally
NHibernate小项目解说NHibernate小项目解说{
NHibernate小项目解说s.Close();
NHibernate小项目解说}

NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说
publicvoidupdateEntity(Objectentity,Objectkey)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说ISessions
=SessionFactory.OpenSession();
NHibernate小项目解说ITransactiont
=s.BeginTransaction();
NHibernate小项目解说
try
NHibernate小项目解说NHibernate小项目解说{
NHibernate小项目解说s.Update(entity,key);
NHibernate小项目解说t.Commit();
NHibernate小项目解说}

NHibernate小项目解说catch(Exceptione)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说t.Rollback();
NHibernate小项目解说
throwe;
NHibernate小项目解说}

NHibernate小项目解说finally
NHibernate小项目解说NHibernate小项目解说{
NHibernate小项目解说s.Close();
NHibernate小项目解说}

NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说
publicvoidDelEntity(objectentity)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说ISessions
=SessionFactory.OpenSession();
NHibernate小项目解说ITransactiont
=s.BeginTransaction();
NHibernate小项目解说
NHibernate小项目解说
try
NHibernate小项目解说NHibernate小项目解说{
NHibernate小项目解说s.Delete(entity);
NHibernate小项目解说t.Commit();
NHibernate小项目解说}

NHibernate小项目解说catch(Exceptione)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说t.Rollback();
NHibernate小项目解说
throwe;
NHibernate小项目解说}

NHibernate小项目解说finally
NHibernate小项目解说NHibernate小项目解说{
NHibernate小项目解说s.Close();
NHibernate小项目解说}

NHibernate小项目解说}

NHibernate小项目解说}

NHibernate小项目解说}

NHibernate小项目解说
其中代码的意思 我就不说了,我在文章开头提供的两位仁兄的文章里已经说明的很清楚了,我只是借签过吗 ,其中我的EntityControl还没有完成,只是先提供了一插入、更新、删除的功能,
写一个应用类试试
NHibernate小项目解说usingSystem;
NHibernate小项目解说
NHibernate小项目解说
usingNHibernate;
NHibernate小项目解说
usingguestbook.data;
NHibernate小项目解说
NHibernate小项目解说
namespaceguestbook.Dal
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说NHibernate小项目解说
///<summary>
NHibernate小项目解说///usersdal的摘要说明。
NHibernate小项目解说
///</summary>

NHibernate小项目解说publicclassusersdal
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说
privateEntityControlcontrol;
NHibernate小项目解说
publicusersdal()
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说control
=EntityControl.CreateEntityControl();
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说
publicvoidaddUser(usersuser)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说control.addEntity(user);
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说
publicvoidupdateUser(usersuser,intId)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说control.updateEntity(user,user.id);
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说
publicvoidDelUser(usersuser)
NHibernate小项目解说NHibernate小项目解说
{
NHibernate小项目解说control.DelEntity(user);
NHibernate小项目解说}

NHibernate小项目解说
NHibernate小项目解说