首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nhibernate Save()不工作

NHibernate是一个开源的对象关系映射(ORM)框架,用于将对象模型映射到关系数据库中。NHibernate提供了一种简单而强大的方式来处理数据库操作,包括保存、更新、删除和查询数据。

在NHibernate中,Save()方法用于将一个新的对象保存到数据库中。但是,如果Save()方法不起作用,可能有以下几个原因:

  1. 事务管理:NHibernate需要在事务中执行数据库操作。如果没有正确配置事务管理器或者没有在Save()方法调用之前启动事务,Save()方法可能不会生效。确保在调用Save()方法之前启动事务,并在操作完成后提交或回滚事务。
  2. 主键生成策略:NHibernate需要一个唯一的标识符来保存对象到数据库中。如果没有正确配置主键生成策略,Save()方法可能无法生成有效的主键值。确保为对象配置了适当的主键生成策略,例如自增长、GUID或者手动分配。
  3. 对象状态:NHibernate使用对象的状态来确定应该执行哪种数据库操作。如果对象处于游离状态(Detached),Save()方法可能不会生效。确保对象处于持久化状态(Persistent),可以通过调用Session的Merge()方法将游离对象合并到Session中。
  4. 映射配置错误:NHibernate需要正确的映射配置来将对象属性映射到数据库表中的列。如果映射配置有误,Save()方法可能无法正确保存对象。检查对象的映射配置,确保属性和列的映射关系正确。
  5. 数据库连接问题:如果数据库连接不可用或者连接超时,Save()方法可能无法成功执行。确保数据库连接可用,并且在调用Save()方法之前进行了正确的连接。

总结起来,如果NHibernate的Save()方法不工作,需要检查事务管理、主键生成策略、对象状态、映射配置和数据库连接等方面的问题。根据具体情况进行排查和修复。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

128 天上班工作:照样领工资 9.5 万

和风畅想公司为证明杜某试用期不能胜任岗位工作提交了《录取聘用函》《试用期目标设定表》《工作不胜任数据参考说明》、录音、其他人员工完成的测试用例。...《试用期目标设定表》中载明杜某的主要工作职责是:“1.执行日常测试工作;2.熟悉、掌握业务;3.整理、优化好测试用例;4.性能测试;5.职业技能提升。”...与上述工作职责相对应的衡量标准为:“按期交付,长期bug发现率高于平均水平,遗漏率小于3%;能够胜任车长或备份车长职责,外部干系评价良好;对Case集有整体把握,Case集功能完备、简洁、冗余并且能适应最新产品...和风畅想公司称《工作不胜任数据参考说明》系杜某的上级主管对其在试用期间的工作评价,但无上级主管签字亦无杜某确认痕迹,该说明中提到杜某存在“工作产出偏低”“组内任务相应偏慢,日常工作积极性偏低”“测试质量低...杜某提交工作数据统计截图、统计数据、自行整理的工作成果、办公软件聊天记录、微信聊天记录,以证明其完成了和风畅想公司安排的工作任务,不存在不能胜任的情况。

2.1K20

Fluent NHibernate之旅(三)-- 继承

经过了“开篇”和“简单映射”两篇文章,相信大家对Fluent NHibernate 有了一定的了解了,FluentNHibernate实际就是对 NHibernate 映射的一定扩展,我们能完全利用强类型...、泛型、Lambde表达式等等Vs、Framework等特性简单完成映射工作,同时也能让我们学习NHibernate的映射方式,一举夺得,这么好玩的东东,有理由继续完成这个系列吗?...从这一篇开始,我们将使用Fluent NHibernate RC 1.0 版来进行演示,先前的代码,我会另外进行说明 继承 在OOP中,继承作为OO中重要的特性,如果NHibernate没有对它的支持,...DateTime.Now, Price = 5600, Name = "Nokia N91 Mobile" }; session.Save...CreateTime = DateTime.Now, Price = 20, Name = "蜗居" }; session.Save

64880

Nhibernate入门与demo

学习和使用Nhibernate已经很久了,一直想写点东西和大家一起学习使用Nhibernate。博客园里也有很多大牛写了很多关于Nhibernate入门的文章。...本篇文章阅读对象是:Nhibernate初学者!如果你是Nhibernate的研究者或者已经很熟练的运用Nhibernate请不吝赐教,对本文不足之处进行指教。      带着问题去学习!...3、怎么搭建Nhibernate?      4、怎么使用Nhibernate?      好,我们就带着这几个问题开始我们的Nhibernate的旅程。    ...看下面代码: User myUser = new User(); //User初始化........ session.Save(myUser);//保存一个用户 session.Update(myUser...LastTimeLogOn = DateTime.Now, Name= "ml",NickName="malun",PassWord="123",Phone="nihao" }; session.Save

32030

Nhibernate_juan benet

什么是NHibernate? NHibernate是一个基于.Net,用于关系数据库的对象持久化类库.它是著名的Hibernate的.Net版本....步骤2:创建.Net类: 当我们这样一堆的用户的时候,我们需要某种对象来保存.NH是通过reflection对象的属性来工作的,所以我们给需要持久化的对象添加属性.一个对应于上面数据库结构的类可以写成这个样子...步骤5:开始体验NHibernate的神奇 所有艰苦的工作已经做完了.如果所有的工作完成后,你将会有这些成果: æ User.cs – 需要持久化的.Net类. æ User.hbm.xml...that this object should be saved session.Save(newUser); // commit all of the changes to the DB and...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

35650

NHibernate总结

现在的项目中数据访问使用的是NHibernate的一个ORM框架,小弟也是在后期加入项目组,之前对NHibernate就一直没有接触过,所以一直在学习NHibernate,都是一些很基础的一些东西,写出来总结一下...如果你下个系统的学习NHibernate,给大家推荐一个博客,详细的介绍了NHibernate,我也是根据这篇博客学习的。...首先,我们要从ISessionFactory中获取一个ISession(NHibernate工作单元)。ISessionFactory可以创建并打开新的Session。...ISession通过ISessionFactory打开,在所有的工作完成后,需要关闭。 ISessionFactory通常是个线程安全的全局对象,只需要被实例化一次。...} //增加 public int Create(People p) { object value= Session.Save

89440
领券