今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下Simple.Data这个很有意思的类ORM工具。

现在大家在.NET开发中如果需要进行数据访问,那么基本都会使用一些ORM工具,比如微软提供的Entity Framework(现在是6.x版本,马上要发布7.0版本)或者NHibernate。当然可能有些开发人员会使用一些更轻量级的ORM工具,或者一些诸如SqlHelper的非ORM工具。在轻量级ORM工具中,比较有代表性的就是Dapper和Simple.Data。

而Simple.Data更加特别一点,它利用了.NET 4.0中引入的Dynamic特性来动态的提供查询方法和实体类映射。或者说,它只是一种ORM风格的数据访问框架,无需像EF那样需要代码预生成或代码样板。就”O/RM”而言,可以没有O,R和M,仅仅只是”/”.

比如这句代码“Database.Open().Albums.FindAllByTitle(title);”中,Albums是动态的,FindAllByTitle也是动态,FindAllBy的后缀即是查询条件。所以这句话会变为这样的SQL语句:“SELECT * FROM Albums WHERE Title = @p1”。当然Simple.Data只能先有数据Schemas才能进行访问。不过其也提供了内存适配器以方便单元测试。

它支持的数据库也很多,从关系型的SQL Server、Oracle和MySQL等,到非关系型的MongoDb、Azure Table。

Simple.Data官网地址:http://simplefx.org/simpledata/docs/index.html

最新文章

  1. 11月7日上午PHP会话控制(session和cookie)、跨页面传值
  2. swift 字符串和数字相互转化
  3. .net断点续传的原理
  4. Android 项目框架
  5. 匹配字符串的KMP算法
  6. 使用PopupWindow实现Menu功能
  7. 在Mac OS X下让你的Terminal带上Color
  8. FSharp.Data 程序集之 Http
  9. 【转】secureCRT使用退格键(backspace)出现^H解决办法
  10. Hello China操作系统STM32移植指南(三)
  11. 如何使用MOQ进行单元测试
  12. JavaScript数据结构与算法(三) 优先级队列的实现
  13. Python Web学习笔记之多道程序设计技术和操作系统的特性
  14. Bytom Kit开发辅助工具介绍
  15. Facade 外观(结构型)
  16. 初学python笔记----字符串
  17. Kali学习笔记25:Arachni使用(实现分布式扫描)
  18. 修改minifest使桌面软件支持高dpi
  19. jsp+servlet+jdbc实现表单提交
  20. [No0000179]改善C#程序的建议2:C#中dynamic的正确用法

热门文章

  1. MySql按字段分组取最大值记录 [此博文包含图片]
  2. Linux内核 设备树操作常用API
  3. 6 CLR实例构造器
  4. mui---获取上一级窗口
  5. 配置数据源的三种方式和sql心跳的配置
  6. 怎么给button设置背景颜色?【Android】
  7. 第一章:初识Python
  8. GIAC 2017全球互联网架构大会最新日程
  9. jdbc-------JDBCUtil类 工具类
  10. [daily][btrfs][mlocate][updatedb] mlocate不认识btrfs里面的文件