10

For one of my clients I'm currently building an application that communicates with a legacy Microsoft Access database. Migrating to SQL server is unfortunately not (yet) an option. I currently write the queries using OleDbConnection, OleDbCommand and –good old- text based queries. As you can imagine I'm a bit spoiled by using modern O/RM tools and I feel like I went back in time.

Which O/RM tool supports Microsoft Access so I can get rid of this uglyness?

Tony Toews
  • 7,850
  • 1
  • 22
  • 27
Steven
  • 166,672
  • 24
  • 332
  • 435

5 Answers5

12

Nhibernate and MS Access

LLBLGEN

How can I use MS Access as a provider for ADO.NET entity framework ?

Community
  • 1
  • 1
Mitch Wheat
  • 295,962
  • 43
  • 465
  • 541
1

ALinq, http://www.alinq.org

ansi
  • 11
  • 1
1

I've also used EntitySpaces for my project work with a Legacy MSAccess -> SQLServer changeover project. So if you go down that path it's pretty straight forward.

Paul Farry
  • 4,730
  • 2
  • 35
  • 61
1

Checkout XmlDataMapper a simple free ORM (LGPL Licence) which supports almost all databases including Access The sample project provided should be good enough to get started.

To integrate XmlDataMapper all you need to do is 4 little steps

  1. Create a Business Entity / DTO for the tables in the Database
  2. Create an XML File with the mapping information between the table and the DTO.
  3. Specify the DTO and xml file in the configuration.
  4. Just call the DTOConverter.Convert(dataReader) and other such methods to convert your database record to DTO / Business Entity
Binoj Antony
  • 15,886
  • 25
  • 88
  • 96
0

Old topic, but wanted to add XPO from Developer Express.

It's pretty mature now, it's been around for a while and recently got lots of new features. It's also the underlying ORM for XAF, Developer Express' application framework.

XPO Supports both .mdb and the new .accdb Access files (and lots of other drivers), has linq support, supports client/server scenarios, allows execution of SQL if you so require, etc.

If you stay generic and don't call db-specific features, you can just change the connection string and use another database without changing another line of code.
Great for planning ahead so you can switch away from an Access DB if you need later on...

Renaud Bompuis
  • 16,596
  • 4
  • 56
  • 86