继续NHibernate学习笔记,
这次说说存储过程的使用,在看完这篇文章后试了试,有两个要注意的地方
1. 这篇文章
NHibernate之旅(15):探索NHibernate中使用存储过程(上)(new!)
中的删除示例要对一个有关系的表的数据进行删除操作,这时要先确认该关系的字段是级联删除的,否则会报错,设置如下:
在创建对象的存储过程中,要注意我们的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!)
本文部分内容摘引自:
转载于:https://www.cnblogs.com/haokaibo/archive/2009/10/07/1578584.html
相关资源:各显卡算力对照表!