轻量级ORM工具Simple.Data
今天推举的这篇文章,本意不是要推举文章的内容,而是据此介绍一下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