NHibernate-Core 项目简介与入门指南
1. 项目目录结构及介绍
在 nhibernate/nhibernate-core
项目中,目录结构主要包括以下几个部分:
- src:存放核心代码,包括C#类库和其他相关组件。
- samples:提供示例应用以展示如何使用NHibernate。
- docs:包含项目文档,如API参考或开发者指南。
- test:测试套件,用于验证NHibernate的功能。
- builddefault,
global.json
,psake.ps1
,release-notes.txt
等文件:构建脚本和版本管理文件。
这些文件和目录是理解NHibernate源码和构建流程的基础。
2. 项目启动文件介绍
由于 nhibernate/nhibernate-core
是一个.NET库,它没有像Web应用那样具有的典型“启动文件”。不过,如果你想运行示例应用程序来体验NHibernate的功能,可以在 samples
目录下找到相关的项目文件(如 .csproj
),这些项目可以被Visual Studio或其他.NET IDE加载并运行。例如,你可以尝试打开 samples\BasicExample\BasicExample.csproj
并执行其中的Main方法,这将演示NHibernate的基本用法。
3. 项目的配置文件介绍
在NHibernate中,主要的配置文件是 hibernate.cfg.xml
,这个XML文件定义了数据库连接信息、映射属性以及NHibernate的行为设置。配置文件中的关键元素包括:
- session-factory:包含所有NHibernate的配置选项。
- property:设置特定的NHibernate属性,如
connection.provider
(数据库连接提供者)、dialect
(数据库方言)和show_sql
(是否显示SQL语句)。 - mapping:指定ORM映射文件的位置,这些文件通常以
.hbm.xml
扩展名,描述实体对象到数据库表的映射关系。
例如,以下是一个简单的 hibernate.cfg.xml
示例:
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
<property name="connection.connection_string">
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
</property>
<property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
<property name="show_sql">true</property>
<!-- Mapping files -->
<mapping resource="MyEntity.hbm.xml"/>
</session-factory>
</hibernate-configuration>
在实际开发中,你也可以选择使用程序化的方式通过代码创建SessionFactory,而不是依赖XML配置文件。这通常涉及构建一个 Configuration
实例,并调用其 AddFile()
或 Configure()
方法添加映射和设置。
请注意,要使配置生效,你需要在你的项目中正确地引用NHibernate库,并确保配置文件在运行时可访问。在ASP.NET Core应用中,你可能需要将其添加到content root或使用IConfigurationBuilder
从appsettings.json中读取配置。
总结起来,nhibernate/nhibernate-core
项目的核心在于提供ORM服务,而具体的启动和配置依赖于使用它的应用程序。对目录结构和配置文件的了解有助于更好地理解和集成NHibernate到你的.NET项目中。