博客
关于我
NHibernate使用之详细图解
阅读量:809 次
发布时间:2023-02-15

本文共 1483 字,大约阅读时间需要 4 分钟。

NHibernate框架是一个强大的对象关系映射工具,适用于在.NET开发环境中与数据库进行交互。本文将指导您一步步配置并使用NHibernate 2.1.2框架。

一、创建数据库和映射表

  • 数据库创建

    创建一个名为hibDB的数据库。

  • 映射表设计

    在数据库中创建一个名为people的表,字段包括:id(主键,自动递增)、Name(字符串)、Age(整数)和BirthDate(日期)。

  • 二、项目配置与实体类映射

  • 项目创建

    使用Visual Studio创建一个新的类库项目,命名为Com.uuu9.nHibernate

  • 实体类开发

    创建一个名为People.cs的实体类,字段与数据库表一致。每个属性前都要添加virtual关键字,确保程序能够正确运行。

  • 映射文件配置

    为每个实体类创建一个对应的映射文件,文件名为实体类.hbm.xml。在文件中添加以下内容:

    将映射文件设置为嵌入资源,确保程序能够找到该文件。

  • 三、引入NHibernate DLL

    在项目中引入以下NHibernate相关DLL文件:

    • NHibernate.dll
    • NHibernate.Linq.dll
    • NHibernate.Proxy.dll

    四、配置hibernate.cfg.xml

  • 创建一个名为hibernate.cfg.xml的文件,放在项目的Bin目录中。
    数据源连接字符串
    NHibernate.Dialect.MsSql2005Dialect
    MsSql2005Dialect
    数据库用户名
    数据库密码

    根据数据库实际情况调整连接字符串和dialect属性。

  • 五、使用NHibernate进行操作

    在代码中使用NHibernate进行CRUD操作:

    using (ISession session = sessionFactory.OpenSession()){    using (ITransaction transaction = session.BeginTransaction())    {        People person = new People();        person.Name = "张三";        person.Age = 30;        person.BirthDate = DateTime.Now;        session.Save(person);        transaction.Commit();    }}

    注意事项

  • 确保hibernate.cfg.xml文件名称和路径正确。
  • 检查数据库连接字符串是否正确,包括服务器、数据库名、用户名和密码。
  • 确保所有依赖项(如NHibernate DLL)已正确引入。
  • 通过以上步骤,您可以成功配置并使用NHibernate 2.1.2框架进行数据库操作。如果有任何问题,请参考NHibernate官方文档或相关教程进行进一步的解决。

    转载地址:http://myjfk.baihongyu.com/

    你可能感兴趣的文章
    nmon_x86_64_centos7工具如何使用
    查看>>
    NN&DL4.1 Deep L-layer neural network简介
    查看>>
    NN&DL4.3 Getting your matrix dimensions right
    查看>>
    NN&DL4.8 What does this have to do with the brain?
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    NO 157 去掉禅道访问地址中的zentao
    查看>>
    no available service ‘default‘ found, please make sure registry config corre seata
    查看>>
    no connection could be made because the target machine actively refused it.问题解决
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
    查看>>
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>