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. C和C++头文件的不同

    #include <IOSTREAM.h>void main(){    std::cout<<"Hello,World!"<<std::end ...

  2. Android杂谈--网络状态判断

    许多联网应用都在开始运行的时候检查当前网络状态,如果没有开启则去开启它,记录一下以前写程序时的网络检查,发现人的记忆力真是有限,总是隔段时间久忘记,所以记录下来是最好的记忆. 我们可以在一开始启动程序 ...

  3. 【Robot Framework】robot framework 学习以及selenium、appnium、requests实践(三)

    看了上一章的内容,想必较为简单的case也都会编写了吧,但是是不是觉得,如果能够实现用例参数化,是不是会节省很多劳动力,这节就来学下RF中的user keywords,会让你发现写用例原来可以这么简单 ...

  4. LoadRunner界面分析(三)

    1.Anaysis基础知识 2.Analysis 报告 3.Analysis分析基础 4.IP欺骗 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候 ...

  5. Centos7 install Openstack - (第三节)添加镜像服务(Glance)

    Centos7 install Openstack - (第三节)添加镜像服务(Glance) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack ...

  6. c# 图片路径转byte[] 插到数据库BLOB 图片长宽自定义

    //根据图片路径读取图片并且转byte[]   类型 FileStream fs = new FileStream(filePath, FileMode.Open); byte[] byData = ...

  7. oracle 空表无法导出

    1.执行该语句   select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;  ...

  8. 学习记录 java session保存用户登录

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. No.012 Integer to Roman

    12. Integer to Roman Total Accepted: 71315 Total Submissions: 176625 Difficulty: Medium Given an int ...

  10. 【Python】django模型models的外键关联使用

    Python 2.7.10,django 1.8.6 外键关联:http://www.bubuko.com/infodetail-618303.html 字段属性:http://www.cnblogs ...