zoukankan      html  css  js  c++  java
  • ASP.NET MVC4中使用NHibernate

    ASP.NET MVC4中使用NHibernate

    1:下载安装NHibernate

     

    打开 VS 2012新建一个 MVC4项目. 在项目名称上右击选择Manage NuGet Packages。你会看见 Manage Nuget Packages 页面. 在搜索框输入‘NHibernate’ 可以得到以下结果:

     

     

    选择第一个并安装,安装完成后会引入以下两个.DLL文件

     

    • NHibernate

    • Lesi.Collections

     

     

    2:编写Model层,你需要决定模型中的对象它们之间的关系现在来定义一个应用程序,用于维护员工记录(很简单但你可以扩展的让我们添加新的类模型。如下所示

     

     View Code

     

    包含属性employeeinfo这些属性将被用来与表的列映射这些属性必须被定义为虚拟

     

     

    3:一旦映射模型类准备好了,现在就可以建数据库保存数据。对于这个简单的应用程序,我们将使用一个名为Company的SQL数据库。表的名称是employeeinfo,创建如下所示:

     

     View Code

     

     

    4:设置映射employeeinfo.HBM.XML

     

    在Models中建立NHibernate 文件夹,在NHibernate下建立Configuration 、Mappings两个文件夹

     

    映射文件的命名规则默认是< modelName >.hbm.xml,在我们的案例中,它取名为employeeinfo.HBM.XML,保存在ModelsMappings,我们需要在项目中将XML文件属性改为嵌入的资源的“。这个文件映射模型类与数据库表列的约束的主键,数据类型等文件,如下所示:

     

     View Code

     

    上述XML文件是employeeinfo类和属性之间的映射的列。

     

    注:默认情况下没有智能代码提示,可以实现添加nhibernate-configuration.xsd和nhibernate-mapping.xsd文件到VS的以下路径:

     

    C:Program Files (x86)Microsoft Visual Studio 11.0XmlSchemas,就会有代码提示。

     

     

    定义了

     

     View Code

     

     

     

    6:现在是时候添加一些代码来对数据库映射模型进行CRUD操作NHibernate提供用于执行操作的各个类和接口其中一些是用于实现他们如下

     

    ISession单线程,生命期较短的对象,代表应用程序和持久化层之间的一次对话。封装了一个ADO.NET连接

     

    ISessionFactory:它是Session的工厂,是ConnectionProvider的客户。可以持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存的可以在事物中重用的数据。。该方法的opensession()”提供了创建Session的功能每个数据库要求一个会话工厂。执行是线程安全的,可以一直到应用程序的生存时间。

     

    正如你可以看到下面的代码,我们必须配置对象提供的配置文件的绝对路径,也为其提供了目录信息的所有映射文件将被保存(在opensession法)

     

    iquery:这表示是NHibernate查询一个对象。

     

     View Code

     

    生成项目并确保它没有错误。

     

     

    7:添加新控制器,命名为“employeeinfocontroller”。添加下面的控制器类中的动作方法:

     

     View Code

     

    每个动作方法调用的employeeinfodal类定义的方法。现在只要为每个Action添加视图方法,就可以运行连接到得到以下结果:

     

     

     

     

     

     

     

  • 相关阅读:
    不使用border-radius,实现一个可复用的高度和宽度都自适应的圆角矩形
    实现一个div在浏览器水平居中
    HTML画布(2)
    《10X工作法制》笔记
    消息体的上传格式
    在rpc链路中的工作总结
    同属姓名注入spring报错
    《事实》听后感
    jdk8使用stream对指定值去重以及其他stream用法
    如何写好业务(待续)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3456284.html
Copyright © 2011-2022 走看看