阅读目录

一、Expression2Sql介绍

Expression2Sql是一个可以将Expression表达式树解析成Transact-SQL的开源项目。简单易用,几分钟即可上手使用,因为博主在设计Expression2Sql的时候就尽可能的按照Transact-SQL的语法语义风格来设计,只要调用者熟悉基本的Transact-SQL语法即可瞬间无忧开码,大大降低了学习Expression2Sql的成本,甚至零成本。对象化操作,链式编程,任意组装sql,自动生成表别名,参数化赋值,防止sql注入,支持多数据库,生成极度美观的sql字符串(格式化),优点A,优点B,优点C,优点...还是等你来发现吧! O(∩_∩)O~

  由于insert操作基本上是纯反射,很难和表达式树挂上钩,所以就不提供insert操作的方法了。Expression2Sql目前推出的首个版本是1.0,所以功能完善程度不高,只能做一些简单的表达式树解析成sql的操作。后期博主会持续更新维护,陆陆续续的增加智能缓存、日志埋点、sql监控、sql合法性检查等,让Expression2Sql逐渐的日益完善。

由于Expression2Sql的职责非常单一、干净清爽,纯粹就是输入表达式树,然后经过它的解析之后,便可返回Transact-SQL给调用方。所以它的使用场景主要是用于和第三方的ORM或者是基于ado.net的原生DbHelper帮助类做对接,使其能够支持对象化、表达式树的链式编程。

Expression2Sql源码托管地址:https://github.com/StrangeCity/Expression2Sql

诸多开源项目收录:http://www.cnblogs.com/StrangeCity/p/OpenSourceProject.html

拉轰兮兮的YY了这么久,那么接下来博主将以图文并茂的方式来展示一下Expression2Sql的使用示例。

二、单表简单查询

三、Where条件

3.1、where like

3.2、where in

3.3、多个 where 条件组合

四、多表关联查询

4.1、join

4.2、inner join

4.3、left  join

4.4、right  join

4.5、full  join

4.6、多表复杂关联查询

五、group by

六、order by

七、函数

八、delete 删除

九、update 更新

十、携程招聘

     携程在手,说走就走

携程深圳   深圳罗湖老街地铁站   五天八小时(弹性),周末双休    各种福利+补贴+五险一金+数月年终奖,月薪至少10K起步,具体多少看个人能力

下限年薪=下限10K*下限15+各种补贴>15W的年薪,小伙伴们自行逆推,仅供参考^_^

.NET工程师

岗位职责:

开发强劲的Service、以适合业务的快速增长,程序供APP、Online、Offline、Windows Service调用, 要能适应LBS。 开发Offline系统,供线下及热线人员预订、订单处理、报表用。

岗位要求:

1. 计算机相关专业,至少三年以上开发工作经验。

2. 熟悉.net部分命名空间或相关技术(WCF、MSMQ、MVC、Entity Framework、Linq、Session、Cache、Route、Rewriter、RestAPI等)。

3. 熟悉SQL Server、MySQL数据库,了解Sqlite、Oracle等,具备一定的数据库设计能力,根据应用场景,合理规划读写频率与存储结构,有NoSql存储系统使用经验最好。

4. 熟悉网页设计基本知识及工具(html、js、jQuery、css、json、xml、gzip、fiddler、正则等)。

5. 熟悉常用软件架构、设计模式、面向对象,熟练使用UML建模。

6. 熟悉性能调优,能够持续精益求精,并有自己的完整成熟见解。

7. 能适应业务和技术的变化,独立或与工作伙伴协同分析并解决技术难题,能提供创新的解决方案。

8. 有较好的文档能力及良好的编码风格,积极参与代码评审。

9. 沟通能力强、有良好的团队协作精神、有责任心、有激情、乐于分享、能精益求精、自认技术很牛。

web前端工程师

岗位要求:

1. 计算机相关专业,至少三年以上开发工作经验。

2. 熟悉各类Web前端开发技术,包括javascript、Ajax、Css、HTML5等web开发领域相关技术;

3. 熟悉对象模型,熟悉JQuery;熟悉HTTP协议;

4. 持续关注业界的新技术,研究过JQuery、Bootstrap、Zepto 等框架中的一种或以上;

5. 对前端面向对象、MVC(Backbone、Ember、AngularJS )、模块化开发(AMD\CMD:seajs requirejs),有一定开发经验;

6. 熟悉网站性能优化,技术体验优化;对符合web标准的网站重构有丰富经验。

6. 熟悉性能调优,能够持续精益求精,并有自己的完整成熟见解。

7. 能适应业务和技术的变化,独立或与工作伙伴协同分析并解决技术难题,能提供创新的解决方案。

8. 有较好的文档能力及良好的编码风格,积极参与代码评审。

9. 沟通能力强、有良好的团队协作精神、有责任心、有激情、乐于分享、能精益求精、自认技术很牛。

10. 有移动项目开发经验者优先。

加分项1: 基础知识扎实,利用扎实的基础可以快速学习新技术,并能够举一反三。

加分项2: 有一定的技术前瞻性和全局观,对大型系统中的service和client有一定的认知。

加分项3: 良好的逻辑思维、沟通能力、表达能力。为人谦和好学,做事认真负责。

重中之重:能够持续跟进问题,并加以分析,且最终高效解决问题。

给各位聚聚和大大介绍一个开源项目 Expression2Sql(转)的更多相关文章

  1. 介绍一下开源项目FastAnimationWithPOP

    介绍一下开源项目FastAnimationWithPOP JUL 23RD, 2014 这是一个非常easy的动画框架,基于Facebook的POP库. 使用它你就能够在故事版中以0行代码的代价来加入 ...

  2. 什么?让每一个开源项目更安全?啊?还有IDE工具?难道是它?

    背景 入编程界6年来,大大小小的安全漏洞是真滴听了不少,xxx通过日志入侵了,xxxx通过请求入侵了,等等等等. 近期fastJson又报安全漏洞,敢巧自己又"被"跳槽到了新公司, ...

  3. 一个toolkit或者一个开源项目如何学习它并使用它

    一个toolkit或者一个开源项目如何学习它并使用它 一般一个流行的toolkit和开源项目,一般都会被广泛地被应用: 那么,我们如何学习它,如何应用它在自己的业务场景中呢? 答案就是:学习源码并借鉴 ...

  4. MyBatis 本是apache的一个开源项目iBatis

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .20 ...

  5. Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console、file等。Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别。

    Log4J是Apache组织的开源一个开源项目,通过Log4J,可以指定日志信息输出的目的地,如console.file等.Log4J采用日志级别机制,请按照输出级别由低到高的顺序写出日志输出级别. ...

  6. 跟我一起使用webpack给一个开源项目添加一个运行入口

    啦啦啦啦啦不要把webpack想的很高大上就放弃了探究的想法,其实webpack特别的平易近人,就是一个工具 今天看到了一个超级美丽的项目 你可以看到各种各样的口红色号,满屏的粉色,哇哇哇哇塞,美美哒 ...

  7. 发起一个开源项目:基于 .NET 的博客引擎 fluss

    今天我们发起一个开源项目,它的名字叫 fluss,fluss 是 river 的德语. 百川归海,每一个博客就如一条河流,输入的是文字,流出的是知识,汇入的是知识的汪洋大海. 川流不息,fluss 是 ...

  8. 介绍一个开源的 C++ 开发框架 openFrameworks 。

    作为一个图形图像方向的研究生,我经常都在和 OpenGL .OpenCV 等多种 C++ 库打交道.这些库遵循着不同的规则和用法:另外,为了让自己的程序具有更多的交互能力,编写界面也是一个家常便饭的工 ...

  9. 介绍一个开源的在线管理SQLServer的小工具--SQLEntMan

    近来有许多人问起SQL在线管理的问题,遂将以前用过的一个开源SQL 在线管理工具修改了一下,并分享. 看下效果图: 原项目的地址:http://sourceforge.net/projects/asp ...

随机推荐

  1. hdu 3089 约瑟夫环

    原来并不知道约瑟夫环还可以递推直接解orz 约瑟夫问题的递推公式: 设f[n]表示一共n个人,数到k出局,这样最后的winner (n个人从0开始标号,即0--n-1) f[n]=(f[n-1]+k) ...

  2. list去除并且把值相加

    package list; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import ja ...

  3. jdbc工具类封装

    封装 package util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...

  4. 使用dnsmasq来提升CentOS上网速度

    1. 安装dnsmasq dnsmasq的官方网址是:http://www.thekelleys.org.uk/dnsmasq/doc.html.利用里面的下载链接下载dnsmasq-2.72.tar ...

  5. Cannot convert value of type [java.lang.String] to required type [java.util.Date] for property 'xxx': no matching editors or conversion strategy found

    今天在完成项目的时候遇到了下面的异常信息: 04-Aug-2014 15:49:27.894 SEVERE [http-apr-8080-exec-5] org.apache.catalina.cor ...

  6. AngularJs $compile编译服务与指令

    $compile 这是个编译服务.编译一段HTML字符串或者DOM的模板, 产生一个将scope和模板连接到一起的函数. 编译服务主要是为指令编译DOM元素,下面的一大段也是主要介绍指令的. 下面是一 ...

  7. HDU 1710 Binary Tree Traversals(二叉树遍历)

    传送门 Description A binary tree is a finite set of vertices that is either empty or consists of a root ...

  8. WPF元素可视化效果

    在WPF中设置元素的可视化效果主要用到BlurEffect类和DropShadowEffect类.(目前只学到这两个,哈哈) 1.BlurEffect类 命名空间: System.Windows.Me ...

  9. Mysql 列转行统计查询 、行转列统计查询

      -- ---------------------------- -- Table structure for `TabName` -- ---------------------------- D ...

  10. Nuxt.js logoVue.js 后端渲染开源库 Nuxt.js

    Nuxt.js 是一个通过 Vue 用于服务端渲染的简单框架,灵感来自 Next.js. 目前尚处于开发阶段,1.0 版本即将发布 1 分钟视频演示 Nuxt 基于 ES2015,这使得代码有着更愉快 ...