您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> .NET >> codes combine Nhibernat +CodeSmith的应用

codes combine Nhibernat +CodeSmith的应用

来源:网络整理     时间:2016/7/8 13:14:20     关键词:codes combine

关于网友提出的“codes combine Nhibernat +CodeSmith的应用”问题疑问,本网通过在网上对“codes combine Nhibernat +CodeSmith的应用”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题:codes combine Nhibernat +CodeSmith的应用
描述:

需用软件:
1.NHibernate 
2.Code Smith 
3.NHibernate模板 
4.vs2005
NHibernate模板的修改:
1.打开NHibernate.class.cst,找到如下代码:(在 #region Public Properties  ...... #endregion之间  )
把所有生成 get、set 的 public 修饰符改为 public virtual 
2.打开NHibernate.hbm.cst,映射由2.0改为2.2 
实例步骤:
1.数据库 nHibernate 表:Person
2.打开code Smith visdio 连接数据库:在左侧的浮动窗口schema explore -》数据源图标 -—》Add ->name(数据源名称任意取的如:"dataSK")......
3.添加NHibernate模板 ,右击NHibernate.cst -》execute
outputDirectory :为类文件和映射文件的保存地址
sourceDatabase :为自己取的数据源名称
Assembly:  为默认的数据集名称一般与namespace一致
namespace:空间名称
——》点击 Generate 则可完成类文件和映射文件(注意要将其加在项目中(类项目 项目名与空间要对应),最好不要直接加在网站上)
4.将***.hbm.xml的属性中生成的操作默认生成操作为“内容”,这里需要修改为“嵌入的资源”生成
5.添加引用:NHibernate.dll (如果是三层架构的话 添加在DAL 数据层)
6.添加引用:NHibernate.ByteCode.Castle.dll (在 表示层)(也有可能还要添加 NHibernate.ByteCode.LinFu.dll)
还要在表示层的web.config中


  
    
  

  
    
      NHibernate.Dialect.MsSql2005Dialect
      NHibernate.Connection.DriverConnectionProvider
      Data Source=02B3B152B4144C5\SQLEXPRESS;Initial Catalog=NHibernate;Integrated Security=True
//数据库连接语句
      NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle
         //映射名字空间
    

  
  
  

7.数据库操作语句:(不要忘了导入名字空间 如:using NHibernate;using NHibernate.Cfg;using Test.Model;)
NHibernate.Cfg.Configuration config = new NHibernate.Cfg.Configuration().AddAssembly("Test.Model");
//通过配置对象来产生一个SessionFactory对象,这是一个Session工厂,
//那么Session是用来干什么的呢?一个Session就是由NHibernate封装
//的工作单元,我们可以近似地认为它起到ADO.Net中Connection的作用。
        ISessionFactory factory = config.BuildSessionFactory();
        ISession session = factory.OpenSession();
        Person person = new Person();
        person.Name = "Jackie Chan";
//这里,开启一个由NHibernate封装的事务,当然,在这里最终代表
//的还是一个真实的数据库事务,但是我们已经不需要再区分到底是
//一个SqlTransaction还是一个ODBCTransaction了
        ITransaction trans = session.BeginTransaction();
        try
        {
            session.Save(person);
            trans.Commit();
            Response.Write("Insert Success!");
        }
        catch (Exception ex)
        {
            trans.Rollback();
            Response.Write(ex.Message);
        }


解决方案1:

一个常用的开发模式。。。


以上介绍了“codes combine Nhibernat +CodeSmith的应用”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2416501.html

codes combine相关图片

codes combine相关文章