A
Aspect-Oriented
 
B
Bloggers
Build Systems
 
C
CMS
Cache Solutions
Charting & Reporting
Chat Servers
Code Coverage
 
D
Databases
 
E
ERP & CRM
 
F
Forum Soft
 
G
Geospatial
 
I
IDEs
Installers
Inversion of Control
Issue Tracking
 
J
Job Schedulers
 
L
Logging Tools
 
N
Network Clients
Network Servers
 
P
PDF Libraries
Persistence
Portals
Profilers
Project Management
 
R
RSS & RDF Tools
Rule Engines
 
S
SQL Clients
Scripting Languages
Search Engines
Security
Source Control
 
T
Template Engines
Testing Tools
 
U
UML & Modeling
 
W
Web Frameworks
Web Mail
Web Services
Web Testing
Wiki Engines
Workflow Engines
 
X
XML Parsers
 

Open Source Persistence Frameworks in C#

iBATIS.NET

iBATIS.NET helps you create better persistence layers for .NET applications.

Go To iBATIS.NET

Bamboo.Prevalence

Bamboo.Prevalence is a .NET implementation of the object prevalence concept brought to life by Klaus Wuestefeld in Prevayler. Bamboo.Prevalence aims to provide transparent object persistence and synchronization to deterministic systems targeting the CLI. No relational databases. No object-to-relational mapping goo. No SQL. Just you and your objects.

Go To Bamboo.Prevalence

ORM.NET

ORM.NET is Object-Relational Mapping and Code Generation Tool for .NET. ORM.NET is an development application that auto-generates a data layer object model based on your database schema. The generated run-time component exposes all tables as classes and columns as properties. Using the built-in DataManager object, users can easily retrieve data from multiple tables based on complex criteria without using stored procedures or embedded SQL code. In addition, data updates, inserts, and deletes can be saved to the database with one call.

Go To ORM.NET

NHibernate

NHibernate is a port of Hibernate Core for Java to the .NET Framework. It handles persisting plain .NET objects to and from an underlying relational database. Given an XML description of your entities and relationships, NHibernate automatically generates SQL for loading and storing the objects. Optionally, you can describe your mapping metadata with attributes in your source code. NHibernate supports transparent persistence, your object classes don't have to follow a restrictive programming model. Persistent classes do not need to implement any interface or inherit from a special base class. This makes it possible to design the business logic using plain .NET (CLR) objects and object-oriented idiom. Being a port of Hibernate 2.1, the NHibernate API is very similar to that of Hibernate. All Hibernate knowledge and existing Hibernate documentation is therefore directly applicable to NHibernate. Take a look at the list of Differences between Hibernate and NHibernate for a detailed comparison of Hibernate for Java and .NET or browse the available NHibernate Documentation.

Go To NHibernate

OPF.Net

The OPF.Net is a Object Persistent Framework for the .Net platform, which simplifies the handling of not object oriented storages by encapsulating them into objects for easier implementation in your application.

Go To OPF.Net

NPersist

he NPersist Framework is a .NET O/R Mapping Persistence framework capable of persisting standard .NET Objects to one or several relational databases.

Go To NPersist

D4Modelizer

Open source Code generator, D4M is an OR Mapper. It produces C# code from your Database. Each table could be mapped to an object and its fields in properties. D4Modelizer propose a mapping schema between the database structure and the object model.

Go To D4Modelizer

Ubik

Ubik is a C# 2.0 persistence framework with ORM capabilities, targeted at WinForms application development. It supports a subset of OPath for object-oriented queries and has a networked event system. Still under heavy development.

Go To Ubik

Code Author

Code Author generates open source business objects and stored procedures from the database. This can be used as a high performance, strongly typed, and easily customizable persistence framework for C#.

Go To Code Author

OR.Net

OR.NET is an open source O/R Mapper and Code Generator for the .NET 2.0 Framework. OR.NET works by generating a comprehensive data access layer in stand-alone C# 2.0 after collecting all relevant information from an intuitive GUI.

Go To OR.Net

Cooperator Framework

Cooperator Framework is a base class library for high performance Object Relational Mapping (ORM), and a code generation tool that aids agile application development for Microsoft .Net Framework 2.0/3.0. The main features are:

 * Use business entities.
 * Full typed Model (Data Layer and Entities)
 * Maintain persistence across the layers by passing specific types( .net 2.0/3.0 generics)
 * Business objects can bind to controls in Windows Forms and Web Forms taking advantage of data binding of Visual Studio 2005.
 * Supports any Primary Key defined on tables, with no need to modify it or to create a unique field.
 * Uses stored procedures for data access.
 * Supports concurrency.
 * Generates code both for stored procedures and projects in C# or Visual Basic.
 * Maintains the model in a repository, which can be modified in any stage of the development cycle, regenerating the model on demand.

Go To Cooperator Framework

Habanero

An Enterprise Application Framework for .Net that is ideally suited for developing applications in an agile manner. The framework is used for producing an application from the data layer through to the front-end. Free open source under the LGPL license, it includes ORM, code generation and runtime UI generation to create one application for the desktop & web. Features:

 * ORM: Map database tables to objects in code
 * Persist property values to and from the database
 * Define all mapping in a single XML file
 * Switch between database vendors with one setting
 * Support for MySQL, MS Sql Server, MS Access, Oracle, PostgreSQL, SQLite, Firebird
 * FireStarter GUI class definitions xml manager
 * Generate user interfaces and map properties to controls
 * Develop for both desktop (with Windows Forms) and web (with Gizmox' Visual WebGUI)
 * Generate new projects and code files
 * Generate UI forms from templates
 * Reverse engineer class definitions from existing databases
 * Support variable data sources, including an in-memory database. Ships with Firestarter a free database reverse engineering, Domain Modelling and Code Generator.

Go To Habanero

Sisyphus Persistence Framework

The aim of Sisyphus Persistence Framework (SPF) is to greatly simplify the reoccurring problem of how to validate and persist objects.

Go To Sisyphus Persistence Framework

Persist.NET

Persist.NET is a persistence framework entirely written in C#

Go To Persist.NET

ODX

ODX - Open Dataset eXtensions is a quite tiny but extremely powerful ORM tool. It utilizes all the power of ADO.NET and adds the natural ease of OOP. Object layer features:

 * Inheritance (both single table & multiple table patterns). Polymorphy.
 * 1:N, N:N relationships. Integrity Control.
 * Lazy loading.
 * Client entity cache.
 * Offline mode support. Multiple server connection support. Merging data sources.
 * Flexible event model.
 * Save points, Persistent snapshots.
 * .NET Remoting support.
 * On-the-fly proxy generation. Data layer features:
 * Transactions. Optimistic concurrency.
 * XML data source. Concurent access to.
 * Nearly any SQL DB support. OLEDB, ODBC, etc.

Go To ODX

Advanced Data Provider

Advanced Data Provider is a transparent data provider to use with ADO. NET

Go To Advanced Data Provider

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.

Go To Gentle.NET

ObjectBroker

ObjectBroker is an object relationnal mapping framewok for the .NET plateform.

Go To ObjectBroker

N-ORCA

N-ORCA is an architecture and framework for generating a robust middle-tier in any .NET language that stores persistent data in a relational database

Go To N-ORCA

NDal

NDal is a Data Abstraction Layer for the .NET or MONO environment.

Go To NDal

Ormyx

Ormyx for .NET is an Object Relational Mapping framework for .NET platform

Go To Ormyx

TinyPersistence

The main goal of this proyect its to reduce development time of the persistence layer, this layer maps application domain entities to tables in a relational database.

Go To TinyPersistence

Sooda

Sooda (Simple Object-Oriented Data Access) is an Object-To-Relational Mapping software for the .NET environment. It lets you automatically generate an object-oriented data access layer (DAL) for your application. Instead of writing SQL code, you can now focus on writing business rules in object-oriented .NET languages.

Go To Sooda

csopf

The C# Object Persistent Framework (csopf) is a project which has a goal of making rapid development of business software.

Go To csopf

NEO

NEO provides an object facade around ADO.Net. It simplifies data access and provides strongly-typed objects which can be easily persisted.

Go To NEO

Thycotic.Data

Thycotic.Data, a data access layer for .NET that utilizes late binding and allows use of any ADO.NET provider (and database) without references. Perfect for ISVs who need their products to support multiple database platforms. Features:

 * Use the same code against any database.
 * Avoid including unnecessary ADO.NET providers with your application.
 * Avoid the need for references to your ADO.NET providers
 * Write code that will still work with future unknown ADO.NET providers.

Go To Thycotic.Data

Paladin RAD Framework

Paladin is a generic, feature-rich object persistent framework that is architectured for today's competitive rapid application development (RAD) environment. The Paladin RAD framework comprises of two key components - a core library and a suite of tools that developers can easily use to rapidly engineer the foundation of their applications. The core library provides the basic services that are required by most applications, from object-relational mapping and automating SQL generation in the data access layer to providing transaction and simple workflow services in the business services layer. The Paladin framework also provides a powerful code generator that helps developers to automate the task of building business entity objects that are immediately usable on the framework.

Go To Paladin RAD Framework

BBADataObject

BBA DataObjects is an object-to-relational mapping library for Microsoft .NET that maps SQL Server tables to Objects, so you can build real Object Oriented Applications in a fast and easy way. Top features: Lazy Load, Paged Loading, Cryptography.

Go To BBADataObject

XPrevail

XPrevail is a powerful .NET object prevalence, aspects and inspection framework, it provide a transparent persistence mechanism over all business objects. XPrevail still include dynamic support to aspect oriented programming, remote object inspection and remote arbitrary .net code execution. Know it now!

Go To XPrevail

Castle ActiveRecord

Castle ActiveRecord is an implementation of the ActiveRecord pattern for .Net. The ActiveRecord pattern consists on instance properties representing a record in the database, instance methods acting on that specific record and static methods acting on all records. Castle ActiveRecord is built on top of NHibernate, but its attribute-based mapping free the developer of writing XML for database-to-object mapping, which is needed when using NHibernate directly.

Go To Castle ActiveRecord

FileHelpers Library

FileHelpers - An Automatic File Import/Export Framework Are an easy to use .NET library to read/write data from files with fixed length or delimited records. Also has support to import/export data from different data storages (Excel, Acces, SqlServer) The library has a set of converters for the basic types and can be easy extended to provide custom converters.

Go To FileHelpers Library

Base4

Base4 is a open source platform and API for extending and integrating existing legacy and 3rd party databases. Base4 can wrap existing data silos for you so you can re-use them rather than creating a new silo and more headaches for the future. Base4 then exposes wrapped silos using very powerful object mapping techniques. Base4 though, is much more than an OR mapper.

Go To Base4

Subsonic

SubSonic provides a set of tools which create your Data Access Layer (DAL) for you, either at run time or from a set of generated classes.

Go To Subsonic

Data Holder Framework

Data Holder is an open source .net object/relational mapper written in c#. It provides typed data ecapsulation and database persistence for .net applications. It also contains a wizzard for generating the data objects and persistance c# code. Right now it has persistence implementation only for MSQL 2000/2005.

Go To Data Holder Framework