Here is a little bit of information regarding some good frameworks, for .NET application development. Traditionally, we have the presentation layer, business logic layer, and the data logic layer. In these layers, things like Exception handling, logging etc can be common.
For example, Microsoft Enterprise Library blocks offers such common functionalities, as different functionality blocks.
The Enterprise Library consists of a Data Access Application Block. Though this provides a reusable pure data layer, it lacks the rich features of a true ORM. But because it has the backing of Microsoft and their legions of developers, many companies will adopt the Data Access Application Block as their standard platform. But still, to gain the real power, we need to look for some frameworks with much more features, than the Microsoft Data Access Application Block.
Hence, let us have a look at some other frameworks- some of them are mainly for implementing data access logic and OR mapping, and others like AdapDev has much more features like support for advanced caching. Some of them (like EasyObject.NET) internally uses Microsoft Data Access Block for interfacing with the database.
1. Neo - Neo is a framework for .NET developers who want to write enterprise applications with an object-based domain model. It is well suited for domain-driven design and agile development. Pretty good for small apps
2. nHibernate - NHibernate is a .NET based object persistence library for relational databases. It is a widely used OR persistant tool these days. It is inspired by Java hibernate.
3. MyGeneration DoodAds - DoodAds is an elegant .NET architecture available in C# and VB.NET and capable of supporting any .NET managed data provider. Currently dOOdads are available for Microsoft SQL, Oracle, Firebird, Access, PostgreSQL, VistaDB, SQLite, and MySQL . You can use MyGeneration Code Generator to generate DAL classes easily for DoodAds. See http://www.mygenerationsoftware.com/ . It is one of the great frameworks I've seen so far, with an elegant Dynamic Query support. Highly recommended.
4. EasyObjects.NET - EasyObjects.NET is an object relational mapper (ORM) architecture based on a combination of the popular MyGeneration dOOdads architecture and the Microsoft Enterprise Library. See http://easyobjects.tigris.org/
5. DataBlock - DataBlock is a Object Relational Mapping and persistence framework for .NET 2.0. - See http://www.voidsoft.ro/DataBlock/index.html
6. AdapDev.NET - Adapdev.NET is a robust enterprise framework that supplements the MS.NET framework. It's the foundation of Codus (OR Code generator) and Zanebug (A unit testing framework) providing the underlying code generation and unit testing engines. See http://www.adapdev.com/
7. Gentle.NET - Gentle.NET is an RDBMS independent object persistence framework. It features automatic SQL generation and object construction, an SQL factory for creating custom queries, DataView construction helpers, excellent performance and reasonably complete docs. See http://www.mertner.com/confluence/display/Gentle/Home
8. IBatis.NET - The iBATIS Data Mapper framework makes it easier to use a database with Java and .NET applications. iBATIS couples objects with stored procedures or SQL statements using a XML descriptor. Simple and elegant..See http://ibatis.apache.org/