一、调用存储过程

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. ASP.Net软件工程师基础(四)

    1.接口 (1)接口是一种规范.协议,定义了一组具有各种功能的方法(属性.索引器本质是方法). (2)接口存在的意义:多态.多态的意义:程序可扩展性. (3)接口解决了类的多继承的问题. (4)接口解 ...

  2. css 使用background背景实现border边框效果

    css中,我们一般使用border给html元素设置边框,但也可以使用background背景来模拟css边框效果,本文章向大家介绍css 使用background背景实现border边框效果,需要的 ...

  3. Android:Java代码添加按钮

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

  4. sublime text编辑器删除已安装的插件

    1.ctr+shift+P,输入package2.查找remove package3.输入你要删除的package4.回车,OK

  5. Linux input子系统学习总结(二)----Input事件驱动

    Input 事件驱动:  (主要文件 :drivers/input/evdev.c  .  drivers/input/input.h)基于kernel 4.0  一. 关键函数调用顺序: 1.inp ...

  6. Quick Sort

    class Program { static int[] a = new int[] { 6, 1, 2, 7, 9, 3, 4, 5, 10, 8 }; int n; static void Mai ...

  7. java 中的原始类型与原始封装类型

    Java   提供两种不同的类型:引用类型和原始类型(或内置类型).比如:Int是java的原始数据类型,Integer是java为int提供的封装类.Java为每个原始类型提供了封装类,常见的原始与 ...

  8. C# Exception 对象的属性

    关于 C# 中 Exception 对象的属性,在程序出现异常时,需要记录异常的信息,并把信息保存起来或输出,以方便准确定位异常的根源,以下是 Exception  对象的属性 名称          ...

  9. 智能指针(一):STL auto_ptr实现原理

    智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢? 指针与内存 说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就 ...

  10. python md5

    import hashlib import os 简单的测试一个字符串的MD5值 src = 'teststring' print (hashlib.md5(src).hexdigest().uppe ...