博客
关于我
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卸载所有包
    查看>>
    python单线程下实现多个socket并发
    查看>>
    Python单元测试框架介绍(超详细~)
    查看>>
    Python单元测试框架
    查看>>
    python单元测试之unittest
    查看>>
    Python单元测试unittest实战
    查看>>
    Python单元测试-模拟VS补丁
    查看>>
    python协程实时输出_Python 协程以及事件循环的问题,怎么知道 IO 读取结束了呢?...
    查看>>
    Python十进制&;包提供错误的结果
    查看>>
    Python化身“安全老中医”:一键搞定工控系统漏洞,从零基础到精通,收藏这篇就够了!
    查看>>
    Python加速运行技巧
    查看>>
    python办公自动化基础遍历文件夹
    查看>>
    python办公自动化基础输出文件和文件夹
    查看>>
    python办公自动化基础搜索文件
    查看>>
    python知识:@classmethod和@staticmethod的异同
    查看>>
    python前端之css
    查看>>
    Python制作进度条,原来有这么多方法
    查看>>
    Python制作简单的学生成绩管理系统
    查看>>
    python制作甘特图的基本知识(附Demo)
    查看>>
    python制作一个简单的服务器,【Python】 做一个简单的 http 服务器
    查看>>