zoukankan      html  css  js  c++  java
  • NHibernate使用--环境搭建

    话不多说,直接上内容!

    1.首先我们在桌面创建一个新的文件夹Test,然后在Test中创建一个子文件夹LIB,用来存放NHibernate的程序集DLL

    2.打开VS创建一个新的解决方案TestNHibernate,将其保存在Test文件夹

    3.在解决方案中添加相应的类库TestNHibernate.Data、TestNHibernate.Domain、TestNHibernate.Test(控制台程序)

    注解 : TestNHibernate.Data 相当于三层中的业务处理层,用于生成NHibernate中使用的对象

         TestNHibernate.Domain 相当于三层中的实体层 ,用来创建模型(实体类)和数据库相互映射和对应,也用来配置NHibernate所需的配置文件

         TestNHibernate.Test  相当于三层中的显示层(UI),这里为了方便,使用控制台程序

    重点 : 确认程序集和VS是否兼容,确认NHibernate和数据库是否兼容

       1.首先我们将下载好的NHibernate压缩包打开,将里面Required_Bins文件夹中的DLL解压到我们创建的Test--LIB文件夹中

       2.其次在Required_Bins文件夹中有两个后缀名为xsd的XML文件,我们将其(nhibernate-configuration.xsd、nhibernate-mapping.xsd)复制到C:Program Files (x86)Microsoft Visual Studio 12.0XmlSchemas  根据VS安装位置的不同可以修改但都是在XmlSchemas下的 这两个文件是开启配置文件相应提示的,

            3.现在开始确认环境部署是否正确

       4 在 TestNHibernate.Test(控制台程序)中引入NHibernate.dll、Iesi.Collections.dll、NHibernate.ByteCode.LinFu.dll,以及TestNHibernate.Data、TestNHibernate.Domain的引入

       5.在控制台中引入命名空间using NHibernate; using NHibernate.Cfg; 

       然后运行 这段代码 

    ISession session = new Configuration().Configure().BuildSessionFactory().OpenSession();

      若程序运行错误出现如下情况 :

      

             就可以考虑更换NHibernate版本或者在TestNHibernate.Test(控制台程序)右键属性  --- 更换框架 (在vs 4.6.1更换版本后会出现配置文件读取错误题,建议降低NHibernate版本使用)

     

       若运行后出现下面这种情况,那恭喜你,我们完成了第一步

     

      6.接下来我们验证和数据库的兼容问题

        6.1 在TestNHibernate.Test 的配置文件App.Config文件中配置和数据库的链接

        6.2 在配置文件中的configuration节点后创建子节点 切记一定是要在第一个子节点的位置创建

        

    <configuration>
      <configSections>
        <section name="" type=""></section>/>
      </configSections>
     <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
        </startup>
    </configuration>
    View Code

        6.3 开始正式的配置  下面我将自己配置好的发上来

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <!--创建一个自定义节点 配置type--> <!--这样创建是为了方便管理与数据库的链接  注意name的值和下面的节点是对应的哟-->
        <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"></section>
      </configSections>
      <!--配置NHibernate和数据库的链接-->
      <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
        <session-factory>
          <!--创建属性节点dialect 这个指的是数据库的方言一般使用MsSql2000Dialect-->
          <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
          <!--创建属性节点connection.driver_class 这个指的是需要使用那种数据库的驱动,我们这个使用的是SqlClientDriver-->
          <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
          <!--创建属性节点connection.provider 亲测必须字段-->
          <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
          <!--数据库连接字符串-->
          <property name="connection.connection_string">
            Data Source=.;Initial Catalog=test;Integrated Security=True
            <!--Data Source=DESKTOP-IVLTBNPMSSQLSERVER_2008;Initial Catalog=Test;Integrated Security=True--></property>
          <!--创建属性节点proxyfactory.factory_class 亲测必须字段   这个部分也是需要引入DLL的(NHibernate.ByteCode.LinFu.dll)-->
          <!--<property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property>-->
          <!-- mapping files 领域对象映射文件所在程序集  这里指的是实体类的相应映射配置文件的位置  我们创建的是TestNHibernate.Domain程序集(命名空间)-->
          <mapping assembly="TestNHibernate.Domain" />
        </session-factory>
      </hibernate-configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
        </startup>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.0.0.4000" newVersion="4.0.0.4000" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    View Code

     

        6.4 保存好配置之后,重新生成解决方便  无错误后 启动程序,若程序出现以下情况则环境搭建成功,

     

                   6.5 在这个地方我们还不能确定是否和数据库兼容?  本人在使用时出现过错误,更换2008后才运行成功!不过错误是发生在其他地方下面出现了我在说说

        

     

     7.0  特别说明一下我的环境  VS2013 .NET 4.5.0  SQL SERVER 2008  和 NHibernate

     

    最后放几张效果图 :

     文件夹结构图 (注意观察标注的路径 便于区别):

    项目结构图(注意看引用关系和标注的代码): 

       

        

  • 相关阅读:
    洛谷 U138347 贩卖武器
    洛谷 U138346 统治王国
    小技巧—对树中叶子节点的记录
    洛谷 U138345 太极棋
    洛谷 U138343 炼金术士
    CF1038C Gambling
    CF1037A Packets
    如何看待神&#183;QYB自创算法爆锤成名已久的计算机科学家Robert&#183;Tarjan
    浅谈拓扑排序和元素间依赖性
    NOIP 2013 车站分级
  • 原文地址:https://www.cnblogs.com/huanjinyuan/p/8037183.html
Copyright © 2011-2022 走看看