阅读目录
- 一、Expression2Sql介绍
- 二、单表简单查询
- 三、Where条件
- 四、多表关联查询
- 五、group by
- 六、order by
- 七、函数
- 八、delete 删除
- 九、update 更新
- 十、携程招聘
一、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: 良好的逻辑思维、沟通能力、表达能力。为人谦和好学,做事认真负责。
重中之重:能够持续跟进问题,并加以分析,且最终高效解决问题。