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. centos6.5网络配置问题:ping不通

    遇到的问题:win7网卡ping不通 win7中的VMnet8信息 centos6.5设置: /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ...

  2. Flash图表控件FusionCharts如何定制图表中的趋势线和趋势区

    FusionCharts中的趋势线是什么 趋势线是横跨图标的水平/垂直线条,用来表示一些预订数据值. 在图表中展示趋势线 用户可以使用<chart>元素中的trendlines属性来显示图 ...

  3. 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView

    本文面向Android初级开发者,有一定的Java和Android知识即可. 文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新List ...

  4. c语言解数独

    来自:http://my.oschina.net/lovewxm/blog/288043?p=1 #include <stdio.h> #include <stdlib.h> ...

  5. mysql显示乱码问题

    在select * from table:时往往会出现上图所示乱码现象 此时,输入status,会发现: 此时只要SET NAMES utf8即可解决该问题.此时,再次输入status:   总结:S ...

  6. JS HasMap使用

    function HashMap() { var size = 0; var entry = new Object(); this.put = function (key, value) { entr ...

  7. eclipse删除已经记录的用户名和密码

    1.从windows > preference > Team > SVN #SVN Interface这个位置看看. 2.如果是用的JavaHL, 删除C:\Users\[YourU ...

  8. CLRS: online maximum (n,k)algorithm

    //the first k elements interviewed and rejected, //for  the latter n-k elements ,if value >max,re ...

  9. ECSHOP如何解决Deprecated: preg_replace()报错 Home / 开源程序 / ECSHOP / ECSHOP如何解决Deprecated: preg_replace()报错

    Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in D:\w ...

  10. 委托delegate使用方法

    允许传递一个类A的方法m给另一个类B的对象,使得类B的对象能够调用这个方法m,说白了就是可以把方法当作参数传递. class Program { //delegate的使用方法一 public del ...