晒晒我的通用数据访问层

发表于:2011-7-07 10:05

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李奇峰    来源:51Testing软件测试网采编

  说明:以上三个存储要求先调用InsertOrder,然后获取新的OrderID后,才能调用后面二个。下面来看看在C#中该如何调用这三个存储过程吧。

  C#调用代码

  1. public int AddOrder(OrderItem order)  
  2. {  
  3.     // 以事务的方式创建一个FishDbContext对象,将使用默认的连接字符串  
  4.     using( FishDbContext db = new FishDbContext(true) ) {  
  5.         // 添加记录到表Orders,同时获取新产生ID  
  6.         FishBLLHelper.CallSpExecuteNonQuery(db, "InsertOrder", order);  
  7.           
  8.         // 为订单明细设置OrderId,并添加到表[Order Details]  
  9.         order.Detail.ForEach(x => {  
  10.             x.OrderID = order.OrderID;  
  11.             FishBLLHelper.CallSpExecuteNonQuery(db, "InsertOrderDetail", x);  
  12.         });  
  13.  
  14.         // 刷新订单总金额。  
  15.         FishBLLHelper.CallSpExecuteNonQuery(db, "RefreshOrderSumMoney"null, order.OrderID);  
  16.  
  17.         // 提交事务。  
  18.         db.CommitTransaction();  
  19.  
  20.         return order.OrderID;  
  21.     }  
  22. }

  好了,示例就写到这里,方不方便嘛,自己觉得好用就行。

  今天先不谈ORM工具,我们只谈存储过程,下次我会写个关于性能测试的文章来专门谈ORM。

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号