zoukankan      html  css  js  c++  java
  • 菜鸟学Nhibernate 之路---(1)

    首先说一下我为什么要学这个Nhibernate,现在在公司做项目后台的逻辑层都是用动软生成的简单三层,搞来搞去都是这些东西,代码冗余量很大,每个类方法基本上都一样,真是纯正的码农,虽然后来我也尝试使用抽象类、虚方法等来减少代码量(用这些才感觉是在编程,呵呵),但是这些写多了也没意思啊,于是就想找一个逻辑层的框架来减少体力劳动量,于是想公司的一个前辈来表达我这方法的苦恼(他现在是项目经理,不是跟我一个部门的),他提出来用ORM框架,ORM是啥东东?于是百度了一番(原谅我不喜欢用Google....谷歌搜英文不错,但是我学了那么多年的英语,考试从来靠懵啊....),一番结果下来之后我就记住了EF和Nhibernate,之前学MVC,看教程是使用EF框架的,当时挺反感的,觉得太麻烦,不如写三层方便......简单的又看了写EF的介绍,可以说基础是LINQ吧。。。但是我不会LINQ,所以就打算学Nhibernate了。。。。

    刚学几天,先说一下学的感受,第一是网上的资料太少,有些问题根本搜不出来解决方法,谁让咱用的是GA3.3.3呢,可能版本太高了,低版本的跟这个版本的不一样,无从下手,花费了一番心血,找到了几篇博客,于是就开始入门!

    参考:http://blog.csdn.net/jiajiayouba/article/details/9877875

    按照方法一步一步来,这个配置映射类就可以生成表的功能很让我兴奋,但是按照上面的方法确确生成不了表,网上说,cfg.ClassMappings.Count=  1就表示映射成功,但是我这边一直输出0,也不报错,搞不清哪里的问题,真心蛋碎一地,搞了几天不知所措

    文笔不好,直接上解决方法了,

    原先我的映射名为:Student.dbm.xml ,原来后面的结尾格式必须为**.hbm.xml,我嘞个擦,这么坑爹,虽然我是左撇子,但也要为自己的智商默哀。。。。

    这里做一下小小的总结:

    Nhibernate的配置文件hibernate.cfg.xml 属性中的“复制到输出目录”必须改为:“始终复制”

    hibernate.cfg.xml文件中</session-factory>上面必须加入:<mapping assembly="Domain"/>(官方包中的模板文件中没有加这一行),可以理解为指定映射类的程序集名称吧?

    实体类的get、set方法需要指明为虚方法: public virtual int ID { get; set; }

    实体类的映射文件Student.hbm.xml格式为**.hbm.xml,否则就是我上面的说的那种问题了,并且这个xml的属性"生成操作"改为:“嵌入的资源”

    hibernate.cfg.xml 和******.hbm.xml文件中的assembly=“”内容要一直,*****.hbm.xml中的namespace属性指定对应的实体类所在的命名空间

  • 相关阅读:
    C#图片无损压缩
    as3.0 动态文本属性大全
    卡​马​克​卷​轴​算​法​研​究​_​地​图​双​缓​冲
    春卷活动心得
    移动端videojs视频插件使用直播流rtmp、hls、http-flv的注意事项
    在Windows2008系统中利用IIS建立FTP服务器
    winform 窗体自适应 根据新窗体大小按比例放缩
    HTTPS抓包
    数据库 事物 锁
    sql 事物 锁 快照(转发的,写的非常好)
  • 原文地址:https://www.cnblogs.com/New-world/p/3496483.html
Copyright © 2011-2022 走看看