一、调用存储过程

1、不带参数

CREATE PROCEDURE ProcedureWithoutParams
AS
SELECT * FROM ORDER;

调用db.ProcedureWithoutParams();

2、带参数

CREATE PROCEDURE ProcedureWithoutParams
@ORDERCODE VARCHAR(MAX)
AS
SELECT * FROM ORDER WHERE ORDERCODE=@ORDERCODE;

调用db.ProcedureWithoutParams(1);

或者db.ProcedureWithoutParams(ORDERCODE:1);

二、事务

using (var transaction = db.BeginTransaction())
{
transaction.Users.Insert(Name: "张三", Age: );
transaction.Commit();
}

三、分页

1、获取多条数据,没有跳过数据

IEnumerable<dynamic> q = db.Order.All().Take().ToList<dynamic>();

2、跳过多条记录返回多条数据

IEnumerable<dynamic> q = db.Order.All().Skip().Take().ToList<dynamic>();

四、Simple.Data.Oracle使用心得

1、Sequence使用

db.Customer.Insert(CustomerId:Sequence.Next("Customers_SEQ"));

加入CustomerId作为Order的外键,新增时需要获取到生成的Sequence赋值给Order

using (var tx = db.BeginTransaction())
{
db.Customer.Insert(CustomerId:Sequence.Next("Customers_SEQ"));
db.Order.Insert(CustomerId:Sequence.Current("Customers_SEQ"));
tx.Commit();
}

2、存储过程调用

目前是不支持游标返回

create or replace PROCEDURE ORDERCOUNTBYFACTORYNAME(V_FACTORYNAME  IN VARCHAR,V_COUNT OUT NUMBER) 
ISbegin
select COUNT(*) INTO V_COUNT FROM ORDER O
INNER JOIN ORDERDETAIL OD on O.PKID= OD.ORDERID
WHERE O.FACTORYNAME = V_FACTORYNAME ;end ORDERCOUNTBYFACTORYNAME;

调用方法是由:包头名称+__+存储过程名称组成

var result = db.PKG__ORDERCOUNTBYFACTORYNAME("SO20140917");
var count = result.OutputValues["V_COUNT "];

学习simple.data之高级篇的更多相关文章

  1. 学习simple.data之基础篇

    simple.data是一个轻量级的.动态的数据访问组件,支持.net4.0. 1.必须条件和依赖性: v4.0 or greater of the .NET framework, or v2.10 ...

  2. 学习simple.data之进阶篇

    一.结果排序 -OrderBy(升序) -OrderByDescending(降序) db.Product.All().OrderByFactoryName(); db.Product.All().O ...

  3. 数据库MySQL学习笔记高级篇

    数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...

  4. Python3学习(3)-高级篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 文件读写 源文件test.txt line1 line2 line3 读取文件内容 f = ope ...

  5. 【原创 深度学习与TensorFlow 动手实践系列 - 4】第四课:卷积神经网络 - 高级篇

    [原创 深度学习与TensorFlow 动手实践系列 - 4]第四课:卷积神经网络 - 高级篇 提纲: 1. AlexNet:现代神经网络起源 2. VGG:AlexNet增强版 3. GoogleN ...

  6. Spark学习体系整理(基础篇、中级篇、高级篇所涉及内容)

    新手刚开始学习比较迷茫,参考下面,然后找相关资料学习 1 Spark基础篇      1.1 Spark生态和安装部署          在安装过程中,理解其基本操作步骤.          安装部署 ...

  7. Lua学习高级篇

    Lua学习高级篇 之前已经说了很多,我目前的观点还是那样,在嵌入式脚本中,Lua是最优秀.最高效的,如果您有不同的观点,欢迎指正并讨论,切勿吐槽.这个系列完全来自于<Programming in ...

  8. redis学习笔记(详细)——高级篇

    redis学习笔记(详细)--初级篇 redis学习笔记(详细)--高级篇 redis配置文件介绍 linux环境下配置大于编程 redis 的配置文件位于 Redis 安装目录下,文件名为 redi ...

  9. 4 - 基于ELK的ElasticSearch 7.8.x技术整理 - 高级篇( 续 ) - 更新完毕

    0.前言 这里面一些理论和前面的知识点挂钩的,所以:建议看一下另外3篇知识内容 基础篇:https://www.cnblogs.com/xiegongzi/p/15684307.html java操作 ...

随机推荐

  1. SQL语句在OLAP的妙用(多维分析与指标计算)

    ================================================================================ BI传统实现原理: 1.涉及维度管理( ...

  2. onmousemove和onmouseout事件的调用,和js使用双引号、单引号的时候应该注意的问题

    使用js的时候,统一使用双引号,然后通过反斜杠进行转义 ①如果同时使用单引号.和双引号的情况下容易出现问题,导致标签中表示的事件不能调用, ②导致由于标签没有封口而出现样式布局错误 <!DOCT ...

  3. Android:Java代码添加按钮

    LinearLayout layout = (LinearLayout) findViewById(R.id.container); Button bn = new Button(this); bn. ...

  4. telnet登录路由器启动服务的shell脚本

    因为在测试中经常要telnet登录到路由器中去配置环境启动路由器,每次都输入一遍命令太麻烦了,想着写一个shell脚本实现自动登录.配置环境.启动服务的过程. 脚本实现是使用expect来实现的,所以 ...

  5. Appium+Maven+TestNG(ReportNG)环境搭建(详细过程)

    最近群里经常有人会问到关于maven构建Appium测试项目以及使用testNG生成测试报告的问题,试着搭建了一下,下面是过程: jdk安装过程我这里就不说了 一.下载eclipse,推荐下载Ecli ...

  6. [实战经验]Macbook pro 苹果系统换window系统

    1.       Macbook的window软件驱动备份 通过Boot Camp助手进行window支持苹果驱动下载 2.       拆机把SSD固态硬盘放在主盘位置,把苹果的机械盘放在光驱位置 ...

  7. 【LeetCode】18. 4Sum

    题目: 思路:这题和15题很像,外层再加一个循环稍作修改即可 public class Solution { public List<List<Integer>> fourSu ...

  8. linux内核学习(一步一步走)——内核概述

    一.用户空间与内核空间: 用户通过用户空间与操作系统打交道,程序员开发或使用的应用程序位于用户空间.用户空间不能直接访问内核,从而不能访问硬件资源,但是可以通过内核定义的最外层例程——系统调用来访问. ...

  9. ZJOI2009 假期的宿舍

    题目描述 学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就是一个问题.比如 A 和 B 都是学校的学生,A 要回家,而 C 来看B,C 与 A 不认识. ...

  10. 洛谷P1519 穿越栅栏 Overfencing

    P1519 穿越栅栏 Overfencing 69通过 275提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 USACO是100分,洛谷是20分 为什么 ...