NHibernate学习笔记(4)—使用存储过程
2009-10-07 17:40
176 查看
继续NHibernate学习笔记,
这次说说存储过程的使用,在看完这篇文章后试了试,有两个要注意的地方
1. 这篇文章
NHibernate之旅(15):探索NHibernate中使用存储过程(上)(new!)
中的删除示例要对一个有关系的表的数据进行删除操作,这时要先确认该关系的字段是级联删除的,否则会报错,设置如下:
![](http://images.cnblogs.com/cnblogs_com/haokaibo/NHiberate3.png)
在创建对象的存储过程中,要注意我们的Customer表采用了自增ID的方式,要注意如下错误提示:
错误提示其实我在调试过程中还有一些错误,这里总结一下:
方案1:使用主键生成器类型为"native"
直接创建对象:正常
存储过程创建对象:参数化查询 '(@p0 int,@p1 nvarchar(5),@p2 nvarchar(7),@p3 int)exec CustomerIn' 需要参数 '@p3',但未提供该参数。解决方法:使用increment类型
方案2:使用主键生成器类型为"increment"
直接创建对象:当IDENTITY_INSERT设置为OFF时,不能为表'Customer'中的标识列插入显式值。解决方法:使用native类型
存储过程创建对象:Batch update returned unexpected row count from update; actual row count: -1; expected: 1。解决方法:去掉SET NOCOUNT ON
本文参考资料:
NHibernate之旅(14):探索NHibernate中使用视图(new!)
NHibernate之旅(15):探索NHibernate中使用存储过程(上)(new!)
NHibernate之旅(16):探索NHibernate中使用存储过程(中)(new!)
NHibernate之旅(17):探索NHibernate中使用存储过程(下)(new!)
本文部分内容摘引自:
YJingLee's Blog
这次说说存储过程的使用,在看完这篇文章后试了试,有两个要注意的地方
1. 这篇文章
NHibernate之旅(15):探索NHibernate中使用存储过程(上)(new!)
中的删除示例要对一个有关系的表的数据进行删除操作,这时要先确认该关系的字段是级联删除的,否则会报错,设置如下:
![](http://images.cnblogs.com/cnblogs_com/haokaibo/NHiberate3.png)
在创建对象的存储过程中,要注意我们的Customer表采用了自增ID的方式,要注意如下错误提示:
错误提示其实我在调试过程中还有一些错误,这里总结一下:
方案1:使用主键生成器类型为"native"
直接创建对象:正常
存储过程创建对象:参数化查询 '(@p0 int,@p1 nvarchar(5),@p2 nvarchar(7),@p3 int)exec CustomerIn' 需要参数 '@p3',但未提供该参数。解决方法:使用increment类型
方案2:使用主键生成器类型为"increment"
直接创建对象:当IDENTITY_INSERT设置为OFF时,不能为表'Customer'中的标识列插入显式值。解决方法:使用native类型
存储过程创建对象:Batch update returned unexpected row count from update; actual row count: -1; expected: 1。解决方法:去掉SET NOCOUNT ON
本文参考资料:
NHibernate之旅(14):探索NHibernate中使用视图(new!)
NHibernate之旅(15):探索NHibernate中使用存储过程(上)(new!)
NHibernate之旅(16):探索NHibernate中使用存储过程(中)(new!)
NHibernate之旅(17):探索NHibernate中使用存储过程(下)(new!)
本文部分内容摘引自:
YJingLee's Blog
相关文章推荐
- NHibernate学习笔记(1) —— 使用NHibernate中应注意的几个小问题
- (学习笔记)使用sqlcommand执行存储过程!
- FastSpring学习笔记二(使用工具MyGeneration生成Model和NHibernate的代码 )
- FastSpring学习笔记二(使用工具MyGeneration生成Model和NHibernate的代码 )
- 学习笔记---使用自定义存储过程
- 如何在数据库中使用存储过程 【数据库高效编程 - 学习笔记 第九章】
- NetTiers学习笔记05---使用自定义存储过程
- Android开发学习笔记-8 SQLite使用
- 《Javascript权威指南》13号学习笔记:使用日期和时间
- entityframework学习笔记--003-使用model first
- Think PHP 学习笔记 9.查询方式的一般使用2
- 神经网络与深度学习笔记——第1章 使用神经网络识别手写数字
- 学习笔记一则——void 的使用
- Androin学习笔记四十五:Android画图Path的使用
- NodeJS学习系列课程笔记(NodeJs zlib库文件解压缩的相关使用方法)
- Go学习笔记:xml库的使用
- 学习笔记:web服务的创建及使用
- COCOS学习笔记--关于使用cocostudio打安卓包
- Scala学习笔记22【继续学习Scala List的使用】
- 使用c++开发学习笔记