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. No data in the view dba_hist_undostat (文档 ID 1558157.1)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11. ...

  2. that-annoying-insert-problem-getting-data-into-the-db-using-dapper

    http://samsaffron.com/archive/2012/01/16/that-annoying-insert-problem-getting-data-into-the-db-using ...

  3. Ubuntu Qt arm-linux-androideabi-gcc: Command not found

    :-1: error: /opt/Qt/android-ndk-r9c/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm- ...

  4. Windows Service的安装卸载 和 Service控制(转)

    Windows Service的安装卸载 和 Service控制 原文地址:http://www.cnblogs.com/Peter-Zhang/archive/2011/10/15/2212663. ...

  5. 1314: ZZY的困惑

    1314: ZZY的困惑 Time Limit: 2 Sec  Memory Limit: 128 M[Submit][Status][Web Board] Description ZZY有很多爱好~ ...

  6. lua绑定c++的时候常见得错误

    1 Error parsing reanslation unit 这种情况,首先来说你的python 2.7以及他的插件安装是完整的,最可能的原因就是自己写的ini文件,header路径错误,可以把这 ...

  7. Kendo UI - Observable

    在 Kendo 中,基类 Class 第一个重要的派生类就是 Observable, 顾名思义,就是一个可观察的对象,也就是观察者模式的基础. 对于观察者模式来说,应该有主题和观察者,这里我们讨论的其 ...

  8. 2014款Macbook Air安装单独X64 Win7系统

    之所以写出来,是因为网上大多是用BootCamp安装双系统的,安装单独Win7的教程少之又少,然后大多数还写得不清不楚,所以折腾了一阵子.其实装好之后,还是觉得挺简单的. 我主要参考了两篇文章,链接如 ...

  9. Comparing cards

    For built-in types, there are conditional operators (<, >, ==, etc.) that compare values and d ...

  10. 视频运动motion vector获取。

    http://victor.csie.org/blog/archives/362------------------------------------------------------------ ...