博客
关于我
NHibernate使用之详细图解
阅读量:814 次
发布时间: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/

    你可能感兴趣的文章
    Python - 类 __hash__ 方法和集合
    查看>>
    Python - 轻松将文本文件内容转换为字典值/键
    查看>>
    Python - 递归和列表
    查看>>
    Python 3 读取ini文件
    查看>>
    Python 3.0 使用 turtle.onclick
    查看>>
    Python 3.10 明年发布,看看都有哪些新特性?
    查看>>
    python 3.10上安装pyqt5
    查看>>
    Python 3.12 正式发布了!
    查看>>
    Python 3.2 中的蛮力脚本
    查看>>
    Python 3.4 多处理递归 Pool.map()
    查看>>
    Python 3.4:未知格式代码“x“
    查看>>
    Python 3.5、ldap3 和 modify_password()
    查看>>
    python 3.6.8 升级至3.9版本升级
    查看>>
    Python 3.9 到 Python 3.12 的发展历程与区别
    查看>>
    python 32位和64位的区别在哪
    查看>>
    Python 3:何时使用 dict,何时使用元组列表?
    查看>>
    Python 3d 绘图 - 轴居中
    查看>>
    python ==》 字典
    查看>>
    python anaconda 安装使用
    查看>>
    python and或or 当参数传递的时候的用法
    查看>>