VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > c#教程 >
  • C#教程之C#教程之Nhibernate探索(3)

main函数调用如下:

1
2
3
4
5
6
7
8
class Program
    {
        static void Main(string[] args)
        {
            NHibernateSampleFixture f = new NHibernateSampleFixture();
            f.GetCustomerByIdTest();
        }
}

测试结果是失败,因为,我们还没有在任何地方设置数据库连接字符串。所以推断,缺少了配置数据库连接的文件。

接着,我打开文件夹了Configuration_Templates。

发现Configuration_Templates文件夹下有如下文件。

 

我推断,这里就是数据库连接字符串的模板。

由于我使用的数据库是sqlserver,所以,我复制了mssql.cfg.xml。

然后将复制的文件,黏贴到测试的控制台程序下,然后改名为《hibernate.cfg.xml》。

这里测试了下,貌似不改名不好使,配置文件内容如下

【PS:我始终没搞懂,XML中的CFG代表什么意思。】

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="utf-8"?> 
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.2" >
    <session-factory name="NHibernate.Test">
        <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
        <property name="connection.connection_string">
      Server=SKY-20160718RXO\SA;initial catalog=Nherbinate;Integrated Security=SSPI;
    </property>
        <property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property>
    <mapping assembly="NherbinateHelper"/>
  </session-factory>
</hibernate-configuration>

因为我连接的是sqlserver2012,所以配置文件里,我将原始版SQL2008的property 修改为

<property name="dialect">NHibernate.Dialect.MsSql2012Dialect</property> 

注意

其中<mapping assembly="NherbinateHelper"/>是后加的,原文件里没有。

这句话的意思是,映射我创建的那个类库。

我推断,Nherbinate是读这个配置文件,然后到这个程序集里,反射查询那些poco对象。

最后,nhibernate-configuration-2.2这句话我想了很久要不要改成4.0。

结果是我没改,测试一切正常。可以顺利使用。

 结语

这是一场Nhibernate探索之旅,结果是非常顺利的配置成功了。共耗时2小时。

为什么说是探索之旅呢,因为,我也是首次配置Nhibernate,我平常更多的是使用Entity Framework。

文中使用了一些推断,猜测的词语。那是因为,真的是在推断的。我并不清楚那几个点的原理和含义,因为我没看Nhibernate的原代码。

虽然本文是讲述,配置Nhibernate;但我更想讲述的是,面对未知的框架入手学习和使用的方法。

我描述了自身一步一步配置Nhibernate的路径,我觉得还算高效,大家也可以效仿,用来学习陌生框架。

当然不必太追求速度,因为每个人的基础不一样。我比较熟悉Entity Framework。所以学习Nhibernate就会比较快。

如果你还没接触过ORM,那自然就会慢一点。

 

----------------------------------------------------------------------------------------------------

注:此文章为原创,欢迎转载,请在文章页面明显位置给出此文链接!
若您觉得这篇文章还不错,请点击下右下角的推荐,非常感谢!

相关教程
        
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号