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. Oracle 10046 event详解-转载

    0046事件概述Oracle的10046事件,可以跟踪应用程序所执行的SQL语句,并且得到其解析次数.执行次数,CPU使用时间等信息.这对我们分析.定位数据库性能问题是非常有用的. 10046 eve ...

  2. win7设置防火墙允许Ping与telnet

    Ping: 打开控制面板 >> 系统安全 >> windows防火墙 >> 高级设置 >> 入站规则

  3. Knockout

    <button id="load">Load</button><ul data-bind="template: { foreach: ven ...

  4. 【教程】【FLEX】#002 请求服务端数据(UrlLoader)

    为什么Flex需要请求服务端读取数据,而不是自己读取? Flex 是一门界面语言,主要是做界面展示的,它能实现很多绚丽的效果,这个是传统Web项目部能比的. 但是它对数据库和文件的读写 没有良好的支持 ...

  5. 下载编译和测试Android 源代码

    http://source.android.com/source/downloading.html 其中出现错误 repo: fatal: error unknown url type: https ...

  6. DB2 Magazine 中文版: 访问 iSeries 数据

    当您第一次开始学习 DB2 for iSeries 时,一下子要弄清楚如何访问所有数据可能有些令人生畏.我将介绍访问 DB2 for iSeries 数据的一些常见的方法,并展示如何开始开发访问存储在 ...

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

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

  8. Firefox下载文件时中文名乱码问题

    为了形象化,先看几张不同浏览器下下载文件时的效果图: 1:Firefox 36.0.1 2:IE8 3:Chrome 40.0.2214.93 m 4:360 7.1.1.322 很明显在Firefo ...

  9. struts2文件上传大小限制问题小结

    一:首先看一下程序执行中出现的对应报错信息,如下所示: [WARN ] 2015-03-03 15:31:11 :Unable to parse request org.apache.commons. ...

  10. 洛谷P2732 商店购物 Shopping Offers

    P2732 商店购物 Shopping Offers 23通过 41提交 题目提供者该用户不存在 标签USACO 难度提高+/省选- 提交  讨论  题解 最新讨论 暂时没有讨论 题目背景 在商店中, ...