给各位聚聚和大大介绍一个开源项目 Expression2Sql

一、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的操作。后期博主会持续更新维护,让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起步

.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: 良好的逻辑思维、沟通能力、表达能力。为人谦和好学,做事认真负责。

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

博客园钟灵毓秀高手如云、卧虎藏龙、人才辈出,故在此投放一则招聘信息,希望对携程有兴趣的同学可以大驾光临,前来虐一虐面试官^_^

有意向的同学请将简历发送至博主的邮箱:[email protected]

时间: 2024-08-07 19:19:13

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

介绍一下开源项目FastAnimationWithPOP

介绍一下开源项目FastAnimationWithPOP JUL 23RD, 2014 这是一个很简单的动画框架,基于Facebook的POP库.使用它你就可以在故事版中以0行代码的代价来添加动画了. Github上地址是 这里. 你可以从这里下载DEMO查看效果. 如果你觉得不错,欢迎在到这里点个赞,方便让更多人注意到它 功能 使用属性来添加一个动画到任意的View. 在nib或者故事版唤醒时自动执行动画. 也可以随时手动执行动画. 控制动画的细节. 给control绑定一些动画,例如按下松开

www808888webcom基金的一个开源项目19908836661也是apache基金的一个开源

Flume也是apache基金的一个开源项目,由cloudera公司开发的一款分布式.高可靠.高可用的日志传输工具.其以agent为一个单位,agent由source.channel和sink构成.一个agent最少由一个source.channel和sink构成,数量可以自由组合 Source主要用来收集源数据,并对源数据进行反序列化.Source在读取数据文件时,会遍历日志文件中的每一行,并把这一行封装在一个event当中,一个event包含一个header和一个body,header是一个

如何参与一个开源项目!

1.首先在github上注册一个自己的账号 2.然后在左上部分搜索一个开源项目,比如说我的项目syj-ratelimit 3.进入项目之后,单击右上角的fork按钮,github就会在你的帐户下fork一个同样的项目. 4.此时点击右上角自己的头像,可以看到一个your repositories,点击进入就可以看到刚才的那个项目了 5.现在你就可以在这个项目里取发挥你的个人才智进行修改bug.开发新功能等各种方式的贡献了 6.当你贡献完毕后就可以把你的贡献推荐给这个项目的开发者了.再次打开git

如何熟悉一个开源项目?

参考来源: http://www.lai18.com/content/436209.html 你有个任务,需要用到某个开源项目:或者老大交代你一个事情,让你去了解某个东西.怎么下手呢?如何开始呢?我的习惯是这样: 1.首先,查找和阅读该项目的博客和资料,通过google你能找到某个项目大体介绍的博客,快速阅读一下就能对项目的目的.功能.基本使用有个大概的了解. 2.阅读项目的文档,重点关注类似Getting started.Example之类的文档,从中学习如何下载.安装.甚至基本使用该项目所需

怎样在Github参与一个开源项目

转载:http://www.csdn.net/article/2014-04-14/2819293-Contributing-to-Open-Source-on-GitHub 最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势.而Github作为开源项目的著名托管地,可谓无人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力.对于个人来讲,你把自己的项目托管到Github上并不表示你参与了Github开源项目,只能说你开源了

正式推荐我的一个开源项目2-自定义编译器

在项目里面有时有这样的场景,我们需要一个权限表来控制权限,当满足权限表条件时,阻止用户操作并返回错误信息,表的结构类似: 这时有一种传统方式是,我们用mybatis之类的工具,写一段sql,每次用这段sql校验权限: SELECT * from permission_test where `condition1` = #{condition1} and `condition2` = #{condition2} 另外一种方式是,我们将table编译为一段可执行代码,然后每次执行这段代码,这段代码类

一个开源项目中用到的bash shell脚本

请看系统鸟瞰图: 因为笔者所在的地方并无可用的宽带和Wifi,所以暂且只能采用上图中的联网方法,使用ssh走手机GPRS流量的方法进行远程操作云风典藏官网的服务器,以完成所有任务.  关于云风典藏的更多信息,请看文章<四个月的隐居和一个新的开源项目——云风典藏>. 第一步:SSH安全设置  服务器现在由我们全部负责,远程登录的安全为重中之重.  1.创建一普通用户,以后只使用此用户来远程登录系统:  2.修改root密码:  3.修改sshd的配置: 1 #vim sshd_config fi

一个开源项目的想法

最近因为受到工作上的启发,还有Konrad先生的框架的启发,想要自己动手写一个javascript的框架. 现在设想的框架是mvc模型,纯javascript,加上一些预定义css界面元素.面向Cordova端移动应用开发. 名字叫XJ框架 计划: 现在这里建立一个开源代码库 有空就进行初步架构的开发 稳定代码

IO Visor:又一个开源项目横空出世

日前,Linux组织宣布成立开源项目IO Visor,该项目主要针对Linux内核的输入/输出请求任务.这个项目听上去似乎很深奥,事实上该项目与网络有很大的相关性.IO Visor无需借助网络硬件就可以创建整个网络的拓扑. 在实际应用场景中,IO Visor通过增加Linux内核中运行的元件数量可以有效地提高虚拟交换机等网络元件的性能.在去年VMware主办的 Open vSwitch大会上就讨论过这个问题,当时围绕"将一些数据包处理移出Linux内核是否会更好?"展开讨论. 创建IO