simple.data是一个轻量级的、动态的数据访问组件,支持.net4.0。

1、必须条件和依赖性:

  • v4.0 or greater of the .NET framework, or
  • v2.10 or greater of the Mono framework

项目中引用

  • Simple.Data.Core
  • A Simple.Data adaptor
  • A Simple.Data provider

2、PM> Install-Package

    Simple.Data.Oracle

    Simple.Data.SqlServer

    ...

3、打开一个连接

var db = Database.OpenConnection("连接字符串名称");

4、 命名规则

   

精确匹配、大小写不敏感

5、CRUD操作

5.1、Insert(对象或者命名参数)

db.Author.Insert(UserName:"123",FullName:"234",CreateDate:DateTime.Now);

5.2、Read

-All()

-Find(简单表达式)

-Get(主键)

-FindAll(选择条件)

-FindAllByXXX(参数)

IEnumerable<dynamic> authors=db.Author.All();

var author=db.Author.FindAllByFullName("234");

5.3、Update(对象或者命名参数)

-Update

-UpdateByXXX(参数)

-UpdateAll(选择条件)

db.Author.UpdateByUserName(UserName:"123",FullName:"2334");

5.4、Delete

-Delete(对象或者命名参数)

-DeleteByXXX(参数)

-DeleteAll(选择条件)

db.Author.DeleteByUserName(UserName:"123");

6、转换

6.1、隐式转换

返回单条结果:var product=db.Product.Get(1);

返回多条结果:var products=db.product.FindAllByFactoryName("baogang");

IEnumerable<dynamic> products=db.product.FindAllByFactoryName("baogang");

6.2、强类型转换

IEnumerable<Product> products=db.product.FindAllByFactoryName("baogang").Cast<Product>();

List<dynamic> products=db.product.FindAllByFactoryName("baogang").ToList();

List<Product> products=db.product.FindAllByFactoryName("baogang").ToList<Product>();

Product[] products=db.product.FindAllByFactoryName("baogang").ToArray<Product>();

dynamic[] products=db.product.FindAllByFactoryName("baogang").ToArray();

7、返回数量结果

-GetCount

-GetCountBy

-Exists,Any

-ExistsBy,AnyBy

var isFactoryExists=db.Product.Exists(FactoryName=="baogang");

var isFactoryExists=db.Product.Any(FactoryName=="baogang");

var factoryCount=db.Product.GetCount(FactoryName=="baogang");

var factoryCount=db.Product.GetCountBy(FactoryName:"baogang");

var isFactoryExists=db.Product.AnyBy(FactoryName:"baogang",FactoryName:"angang");

8、查询修改

8.1、返回结果列

var products=db.Product.All().Select(db.Product.ProductName);

var products=db.Product.All().Select(db.Product.AllColumns());

8.2、去重

var products=db.Product.All().Select(db.Product.ProductName,db.Product.FactoryName.Distinct());

8.3、列别名

var products=db.Product.All().Select(db.Product.ProductName.As("Name"));

8.4、过滤

var products=db.Product.All().Where(FactoryName=="baogang");

var orderDetails=db.OrderDetail.All().Where(db.OrderDetail.Price*db.OrderDetail.Quantity>2000);

var products=db.product.All().Where(db.Product.FactoryName==new[][{"baogang","angang"});//in

var orderDetails=db.OrderDetail.All().Where(db.OrderDetail.Price==400.to(440));//between

var products=db.product.All().Where(db.Product.FactoryName.Like("%a%"));//like

学习simple.data之基础篇的更多相关文章

  1. 学习simple.data之高级篇

    一.调用存储过程 1.不带参数 CREATE PROCEDURE ProcedureWithoutParams AS SELECT * FROM ORDER; 调用db.ProcedureWithou ...

  2. 学习simple.data之进阶篇

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

  3. (转)深度学习word2vec笔记之基础篇

    深度学习word2vec笔记之基础篇 声明: 1)该博文是多位博主以及多位文档资料的主人所无私奉献的论文资料整理的.具体引用的资料请看参考文献.具体的版本声明也参考原文献 2)本文仅供学术交流,非商用 ...

  4. 深度学习word2vec笔记之基础篇

    作者为falao_beiliu. 作者:杨超链接:http://www.zhihu.com/question/21661274/answer/19331979来源:知乎著作权归作者所有.商业转载请联系 ...

  5. SpringBoot学习(一)基础篇

    目录 关于Springboot Springboot优势 快速入门 关于SpringBoot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭 ...

  6. Hadoop学习问题记录之基础篇

    目的 记录学习hadoop过程中遇到的基础问题,无关大小.无关困扰时间长短. 问题一 全分布式环境中运行mapred程序,报异常:java.net.NoRouteToHostException: 没有 ...

  7. HTML学习(一)基础篇

    这篇文章有人比我总结的好,适用于新手,我就适当的铺垫一下,结尾处会给你们网站,我就不班门弄斧了. 一)HTML结构 1.<head>标签 <title> <base/&g ...

  8. Mongoose学习参考文档——基础篇

    Mongoose学习参考文档 前言:本学习参考文档仅供参考,如有问题,师请雅正 一.快速通道 1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model ...

  9. 【angularjs】【学习心得】路由基础篇

    原文:http://www.imooc.com/wenda/detail/236998 AngularJS自带有路由模块ngRoute,但是有经验的老师都推荐我们使用功能更完善更强大的ui-route ...

随机推荐

  1. MemoryStream 的GetBuffer() 和 ToArray()的区别

    GetBuffer(): Note that the buffer contains allocated bytes which might be unused. For example, if th ...

  2. UIButton 详解

    1)创建 UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 风格有如下 typedef enum { UIButt ...

  3. Skill

    Skill Yasser is an Egyptian coach; he will be organizing a training camp in Jordan. At the end of ca ...

  4. svn提交自动同步到web目录

    环境:CentOS6.5  测试线   svn和web服务器在同一台机器上   SVN版本1.6 情景:在测试环境下,开发部提出希望提交到SVN的代码能自动同步到WEB站点目录下,解决每次都要传双份这 ...

  5. MPI初学-安装及OpenMPI函数说明

    一.Mac下OpenMPI的安装 所用电脑:MacBook Pro,OSX 10.11.2 从openmpi官网下载相应版本:OpenMPI 1.8下载 解压文件 双击解压或者tar zxvf ope ...

  6. openerp权限设置总结

    Openerp权限设置 最近一直在弄openerp权限问题,现在终于懂了一些.主要对模块下的security 目录下的文件:xxx_security.xml.ir.model.access.csv进行 ...

  7. springMVC导出 CSV案例

    导出csv 第一步 Controller类里调用 OrderParamsVo 传入的参数 orderService.findBuyCSV 查询到要导出的信息 /** * 购买订单CSV * Order ...

  8. 安装office2013时弹出microsoft setup bootstrapper已停止工作,接着就不能安装了

    只是说一下自己的解决方法: 我的原因是注册表没有删除改进. 1.输入regedit 2.找到HKEY_LOCAL_MACHINE\software\microsoft\windows\CurrentV ...

  9. CENTOS7设置显示中文

    vi /etc/locale.conf LANG="zh_CN.UTF-8" LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN&quo ...

  10. 6 个优秀的开源 OCR 光学字符识别工具

    转自:http://sigvc.org/bbs/thread-870-1-1.html 纸张在许多地方已日益失宠,无纸化办公谈论40多年,办公环境正限制纸山的生成.而过去几年,无纸化办公的概念发生了显 ...