Graviton
Graviton

Reputation: 83326

ORM Recommendation for SQL Server

I am going to use SQL Server in my project, for that I want to select an ORM with it. I have some experience with NHibernate as an ORM. In fact, given the nature of that project ( MySQL the backend) NHibernate is really, the only choice.

I have also used strongly typed dataset as my ORM, and that's having Microsoft Access as the backend. I have also some experience with LINQ2SQL.

Now, I know, all paths lead to Rome; a lot of ORMs can handle sql server well. But I want the best ORM in terms of

  1. Development time. That is, drag and drop designer that maps my entity classes to the database schema. So that if I change my schema my entity classes are updated automatically.
  2. Multiple database Support. The ORM must be able to handle multiple databases queries, in an optimum way. Also, multiple connection string support must be done easily too.
  3. Extensibility. If I want to add a query than I don't want to mess with the designer files; they are a pain in neck to ruffle with.

That's probably it. Any ideas?

Upvotes: 2

Views: 11339

Answers (6)

zion
zion

Reputation: 313

I would like to suggest DbBroker a very fast and lightweight ORM library.

It is optimized for SQL Server.

DbBroker site

Upvotes: 0

Frederik Gheysels
Frederik Gheysels

Reputation: 56984

A strongly typed dataset should not be considered as an OR/M tool. A (strongly typed) dataset is just an in-memory representation of the data in your database (1:1 representation).

When you use an OR/M , you 'convert' the data that exists in your database, with in-memory business objects (which do not have to be a 1:1 representation of your DB model, can contain additional logic, etc...).

Maybe you could have a look at the MS Entity Framework, but, as far as I know right now, NHibernate is still the better solution when it comes to features, performance, abstraction, and you have more control over it (but, then this comes maybe a bit with a cost (in development time). (No drag 'n drop design, but you can generate your datamodel from your mappings).

(late response - network failure ... )

Upvotes: 0

epitka
epitka

Reputation: 17655

Based on his requirements, LLBLGen is the way to go. Be aware that there are big differences between LLBL and NH. LLBL is ORM/Generator, your entities will have a lot of code pre-generated, and it starts from the database. So if drag and drop is what you want then by all means use LLBL.

Upvotes: 5

Amy B
Amy B

Reputation: 110221

  • Typed Datasets : 0 / 3
  • Linq To Sql : 1 / 3 It can do item 3. It can do some of item 2: multiple connection strings for different queries are no problem - but if you want multiple databases in a single query, you'll have to use views or a stored procedure to get there. Item 1 is a bust - if you change schema, you must refresh the entities yourself in the designer.

Upvotes: 0

Philippe Leybaert
Philippe Leybaert

Reputation: 171914

LLBLGen could be an option for you.

It has one of the best designer apps, and it's pretty feature-rich.

Upvotes: 3

John Weldon
John Weldon

Reputation: 40799

ADO .NET Entity Framework?

It seems to meet each of the requirements to some degree, although not perfectly

Upvotes: 0

Related Questions