C# databases, as a term, can be misleading. A database management system (DBMS) that works with C# could be either a relational DBMS (RDBMS), an object-relational DBMS (ORDBMS), or an object DBMS (ODBMS). C# also works with object-relational mapping products. Information on each of these technologies can be found on this site.
If you want to use a tool that makes the mapping of C# objects to RDBMSs easier, consider object-relational mapping products. Object-relational mapping products integrate C# language capabilities with RDBMSs. Database objects appear as programming language objects in C#. Often, the interface for object-relational mapping products is the same as the interface for ODBMSs. Using an object-relational mapping product means you will have less code to write and, depending on how you use your data, you might have higher performance over an embedded SQL or a call interface such as ODBC or JDBC. See caching for object-relational mapping.
If you are interested in storing C# objects directly, consider ODBMSs for C# databases. ODBMSs use the same object model as C# and allows C# objects to be stored directly with no mapping.
Both techniques use transparent persistence. With transparent persistence, the manipulation and traversal of persistent objects is performed directly by C# in the same manner as in-memory, non-persistent objects.
Articles

Related topics at this site include:
Products
The various types of products that work with C# are listed on this site with links to their respective websites:
- Object-relational database products
- Object-oriented database products
- Object-relational mapping products
- Relational database products
Jump-start your development
Our services are a way to get your project off to a running start. We will significantly speed up your development by providing:
- Consulting on software architectures and products. This will help you quickly make fully informed decisions concerning the selection and use of software products for Web services and service-oriented architectures. More...
- Mentoring or coaching on technical issues. These sessions make it easier for managers and project leads to get up-to-speed on architectural considerations. More...
- Speaking on topics of advanced software architectures and how such architectures can be used in organizations. This is a great way to communicate the value of using various types of software architectures to larger groups. More...
Sign up for our free newsletter
