Original link: http://yuxnet.blog.163.com/blog/static/164863495201131532223362/
In the. NET platform, about the data persistence layer framework is very much, this article mainly on the following several brief introduction and recommend some learning resources:
1. NHibernate
2. Nbear
3. Castle ActiveRecord
4. Ibatis.net
5. Daab
Additional Information: DLinq
A NHibernate
Mention NHibernate, I believe that everyone is not unfamiliar, nhibernate from a very good Java-based Hibernate relationship persistence tool, it from the database to persist from the bottom. NET object to the relational database, NHibernate for us to do all this, instead of writing SQL statements to manipulate database objects, the code is only associated with the object, Nhibernat automatically generate SQL statements, And make sure that objects are submitted to the correct tables and fields. Massively reduces the time it takes to manually use SQL and ADO to process data during development. NHibernate can help eliminate or wrap the SQL code for a particular database and convert the result set from a table representation to a series of objects. NHibernate takes the form of an XML file configuration, each entity class corresponds to a mapping file, as in the following example:
Official homepage: http://www.nhibernate.org/
Learning Resources
The blog:http://www.cnblogs.com/renrenqq/of DDL in the Garden, the Chinese translation of nhibernate documents and some very excellent nhibernate articles written by DLLs.
The famous Zhang Old three: http://blog.csdn.net/billy_zh/category/22383.aspx
Aero's NHibernate study notes series: Http://www.cnblogs.com/chwkai/category/32514.html
The blog of the Careless Willow is also very worthy of recommendation: http://www.cnblogs.com/9527/
Blog Park O/R mapping team: http://www.cnblogs.com/team/ORMapping.html
Two Nbear
Teddy developed in the garden nbear everyone is very familiar with, has now released the 3.0 official version. Nbear contains components that are not just data persistence tiers, but also IOC, distributed components, and Web Components. Take a look at Teddy's introduction to Nbear:
The core of nbear includes a generic, strongly typed ORM data persistence interface, a set of related entity-related components, high-performance distributed components, and Web Components, so:
1, Nbear is most suitable for developing various kinds of Web programs based on ASP. NET 2.0, which is of high performance requirement. The Nbear.web component provides a number of components that accelerate web development and will make you based on standard ASP. NET development efficiency is greatly improved, and easy-to-use, performance-intensive, generic persistence support will enable you to focus more on business development without the performance problems and cumbersome configuration needs of the traditional ORM Persistence framework (nbear requires almost no manual configuration and performance is close to Daab).
2. High-performance distributed components based on MQ and. Net Remoting will make it easier for you to develop and maintain distributed programs. A NBEAR.IOC module-based development application can be deployed as a truly load-balanced distributed program without recompiling.
3, for desktop applications, Nbear is also a very little learning curve (how many people will be careful to write a small calendar program and carefully study Hibernate's Reference manual?). ), a practical and efficient data persistence scheme.
4. With NBearV3 's comprehensive ORM support, more detailed documentation and tutorials, and comprehensive code generation tools, Nbear is already available for enterprise-level program development.
Official homepage: http://teddyma.cnblogs.com/articles/Ilungasoft_Framework.html
Learning Resources
Learning resources of course the Teddy personal blog:http://www.cnblogs.com/teddyma/
Blog Park NB Team: http://nbteam.cnblogs.com/
Three Castle ActiveRecord
ActiveRecord is a subproject in castle, and the current version is RC1. It is also a very good persistence layer framework that encapsulates nhibernate at the bottom, instead of a configuration file with attribute, so you don't have to write complex configuration files like NHibernate.
Official homepage: http://www.castleproject.org
Learning Resources
Official Document: Http://www.castleproject.org/activerecord/documentation/v1rc1/index.html
Home of the leaves: http://wj.cnblogs.com/
Terrylee's Castle Development series:
Http://terrylee.cnblogs.com/archive/2006/04/28/castl_ioc_article.html
Castle one of the project members Ayende blog:http://www.ayende.com/blog/
Four Ibatis.net
Ibatis.net is divided into Datamapper and dataaccess two parts, it should be said that Datamapper is the core of this framework, datamapper using XML files to achieve from the entity to the SQL statements mapping, learning is very simple, After using Datamapper, we are free to use SQL statements or stored procedures; DataAccess allows us to manipulate data through a simple interface without having to understand the details of the underlying implementation.
Official homepage: http://ibatis.apache.org/
Learning Resources
Official Document: Http://opensource.atlassian.com/confluence/oss/display/IBATIS/Quick+Start+Guide
Good friend's Ibatis.net Development Guide series: Http://www.cnblogs.com/shanyou/archive/2006/04/29/388610.html
Five Daab
Daab is an application block in the Microsoft Enterprise Library that helps us achieve universal data access, so it's also listed here. Daab makes the data access in the application do not know the specific database system, I believe many friends of Daab are very mature and already used in the project, not much introduced, see a simple code snippet:
Official homepage: http://msdn.microsoft.com/practices/
Learning Resources
Enterprise Help documentation and hands on Lab
Terrylee's Enterprise Library series: http://www.cnblogs.com/Terrylee/archive/2006/08/01/Enterprise_Library.html
Additional Information: DLinq
DLinq Although not an open source framework, but when it comes to data persistence, or to mention better, DLinq is Microsoft's next-generation database Integration query language, before that Microsoft has tried objectspace, and finally nothing. The way the DLINQ is implemented is somewhat similar to the previous ActiveRecord, and does not support the use of an external XML configuration file, but instead uses the attribute approach, as shown in the following code snippet:
Official homepage: http://msdn.microsoft.com/netframework/future/linq/
Learning Resources
Download LINQ may CTP: http://msdn.microsoft.com/data/ref/linq/
ScottGu's blog:http://weblogs.asp.net/scottgu/default.aspx
Finally, it is worth mentioning that Microsoft has introduced an ADO VNext, which is configured using a mapping file, more like NHibernate. There's a lot more about the persistence layer framework, which is no longer introduced here, such as Grove.
Several. NET Platform Data Persistence Framework Introduction