c# orm

by dan 10/05/06 12:00:00 Article c#.


I'm looking for a good ORM and I'm still waiting for Microsoft WinFS.

Fav Free: NHibernate / MonoRail

Fav Commercial: LLBLGen Pro & maybe WilsonOrm

Monorail
  • ActiveRecord, can be used for both WinForm & Web
  • based on NHibernate
  • poor documentation. Can't figure out how to do many-to-many. Also can't use IList for 1:n relationship since IList is not created.
  • want to use boo's brail
  • can use it on desktop development.
gentle.net
  • oss, needs mygeneration to gen db tables
  • very little docs!!!
  • attribute based, not XML
  • defining relation is weird looking.
  • sqlce possible (compilable)
NPersist
  • lgpl, xml based, Domain based, kinda hard to read
  • full inheritance model
  • part of puzzle.net, can use GUI Puzzle
Object Mapper
  • MS SQL & Access & Borland Interbase only for now
NHibernate
  • java crowd, XML based
  • direct competitor to OJB
  • can be used under Java/Springs (MVC arch)
  • mssql,mysql,access, but no sqlce???
  • little/no doc for c# crowd.
  • see sample (benday.com's bugtracker src in folder)
ibatis (apache)
  • not a true orm, but a data-mapper. Can coexist with nhibernate
  • not oo, but relational-based, mapping sql to methods
retina.net
  • gotodotnet project
  • support?, very limited doc, but seems easy to use
  • full inheritance (child/parent model), replaces sysiphus,
  • supports sharphsql embedded database (WinCE),
  • mysql, mssql, access, postgres, but no SqlCE???
ntiergen
  • free, once was commercial
  • only MSSQL
  • no docs found?
rapiddb
  • sqlce support!
  • very alpha, but active
doodads -
  • free built-in from mygeneration
  • no joins!
  • easy, simple to code.
  • meant to be used as base for full ORM
easyobjects.net
  • combo of doodads and MS Enterprise Lib
  • only ms-sql (uses stored procedures for db op)
  • no joins!
NEO.codehaus.org
  • verbose codes (and use of factory pattern)
  • domain model
  • no entity inheritance,
  • little doc
atoms framework
  • little documentation, oss
  • last update 4/2005

Stalled Projects

ojb.net
lgpl, ported from apache ojb, currently 1 yr old stalled
sooda - last updated 5/2005
XML based, ok looking code, but no XML gen tool

DataAccessObjects - last updated 2004

orm.net: dead?

TOOLS

Codus
gui for NHibernate and Gentle.net, comes with DAO
ObjectMapper (Puzzle.net)
gui XML gen for Nhibernate & NPersist
mygeneration
  • not orm, but orm-generation tool
  • generates tables and template

Commercial

wilson ORMaper
  • $50
  • compati with MS ObjectSpaces
  • XML/entity-based
  • sqlce ok, but MySql and others may not work.
  • full inheritance? sorta. But inherited property is actually on the parent table
  • simple, could use NHibernate instead.
llblgen.com
  • $270 for full-department license
  • highly recommended
  • sqlce support
  • entity-based
  • Nice but requires db tables to define relationship first

RapTier

  • Lite (Free) - limit to 15 tables, 15 views
  • code gen
  • Pro $299
  • supports mySql and many others
  • Gen GUI CRUD for WinForm app
  • NO ORM!!!
CodeSmith:

Code generator using free .NetTier

  • $99 std edition
  • Could use MyGeneration instead?

dataobjects.net (x-tensive.com)

  • free version limited to 100 tables,100k
  • std version $199
genome
$300 euro
TierDeveloper
recommended, $395/user

Nolics.net Express $149Euro

OPF3 $199

Objectz.net
$49 - $1000, can't seem to order lite version.

Lattice Datamapper $168 for div/dept

Dado Database Mapper $99



Digg! del.icio.us reddit furl