BuddyJoe
BuddyJoe

Reputation: 71101

Features - NHibernate versus Writing Custom Object-Relational Mapper

I'm looking for a list of all the features you would have implement in a custom object relational mapper (ORM) to meet all the features of NHibernate.

to start:

  1. database portability through different drivers and dialects
  2. caching
  3. lazy loading
  4. custom SQL
  5. query interface - LINQ, Criteria, QBE (Query By Example)
  6. basic and advanced mapping functionality (ex. discriminator columns, examples)
  7. support for transactions and unit of work
  8. Multi-Criteria
  9. Multi-Query
  10. Batching
  11. Hooks to supplement/override functionality

<Insert yours Here>

See another list here: 25 Reasons Not To Write Your Own Object Relational Mapper from Ayende Rahien

Upvotes: 2

Views: 977

Answers (3)

Daniel Auger
Daniel Auger

Reputation: 12611

Ayende published a near complete list of important ORM features here: http://ayende.com/Blog/archive/2006/05/12/25ReasonsNotToWriteYourOwnObjectRelationalMapper.aspx

An important one that is missing from your list is IsDirty/State Change checking. Identity Map is another important one which enables a lot of the other features such as IsDirty.

Upvotes: 3

mookid8000
mookid8000

Reputation: 18628

Multi query,

Batching.

And most importantly: Hooks to supplement/override whatevery functionality that works in ways you did not expect/want/feel like that day.

The last part is one place where NHibernate excels.

Upvotes: 2

Jon
Jon

Reputation: 561

Some kind of query interface (like linq or Criteria)

Some kind of mapping functionallity

Support for transactions and Unit of work

Upvotes: 1

Related Questions