Object Relationship Mapping ?

Hi all,

Just wanted to findout that in normal distributed computing environments or 3-tier application;

is it necessary to use Object relational mapping ? if yes which phase of the project ?

-Paresh

[224 byte] By [PareshGheewala] at [2007-12-22]
# 1

A fantastic book was just published on the Addison-Wesley imprint-

Applying Domain-Driven Design and Patterns: With Examples in C# and .NET

It covers TDD, DDD, and ORM and is a great companion to Fowler's

Patterns of Enterprise Application Architecture

BlairAllenStark at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 2

Hi

It isnt really necessary. It depends on the kind of project you are working on and what kind of data accessibility requirements you have. You can live without Object Relational Mapping for sure. I always recommend this http://msdn.microsoft.com/library/en-us/dnbda/html/BOAGag.asp regarding data access patterns.

However if you decide to use ORM then its one of the decisions that needs to be made earlier in the project. And there are certain ORM tools available as well.

Let me know if you have any specific queries and i will be happy to answer.

cheers!

Hammad Rajjoub

http://dotnetwizards.blogspot.com

HammadRajjoub at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 3

Do look at a the below thread in this forum

http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=543039&SiteID=1

The part you might be interested in is the comments by navingp and Phil James that

"The point of O/R mapping is to provide a layer of abstraction between the software and the database. Changes to database could be made without affecting your domain model isolating the impact on software to the data access layer and mapping layer. The mapping ties your domain model and the physical database together. "

Pranshu at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 4

O/R mapping is not directly related to distributed systems (3-tier ; n-tier ; etc.). O/R mapping is a strategy to overcome the OO model and the relational model "Impedance mismatch"

Arnon

ArnonRotemGalOz at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 5

Paresh

I want to also recommend you a free book from Patterns and Practices: Data Patterns

That is, common, reusable solutions to frequent problems with data access

You also have the Data Access Application Block, a mechanism for hiding details of the ADO.NET API, that accelerates your development process

A series of articles was published in MSDN Magazine:

-Data Points, Part 1

-Data Points, Part 2

-Data Points, Part 3

It's also interesting the study case published in The Architecture Journal, about "The Nordic Object/Relational Database Design"

Hope this stuff helps

DiegoDagum at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 6
PareshGheewala wrote:

is it necessary to use Object relational mapping ? if yes which phase of the project ?

Interesting question! As always "it depends". Typically you'll choose one of the following architecture styles namely: Transaction Script, Table Module, Domain Model for your application. In the case of the Domain Model pattern you would implement this using custom classes expressing the abstractions in your problem domain. There's a big chance that the resulting Domain Model isn't mappable 1:1 on your normalised logical data schema. So, using the Domain Model pattern to organise the business logic using by using the abstractions in your problem domain leaves you no other option then to use some form of object-relational mapping.

In the other replies there are great book recommendations which describe these concepts in detail. Perhaps this helps choosing an architecture style "Organizing Domain Logic".

PaulGielens at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 7

Hi all,

Thanks to everyone for contributing.

while evaluating and testing O/R Mapping tools,

I came across

a) LLBLGen Pro

b) NHibernet

c) Codus

d) other tools

Which one do you recommend ? Domain Centric is what I am looking at.

kindly share your experiences with the tools in tech depth as well.

thanks

Paresh.

PareshGheewala at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 8

If you start with object oriented modelling of your domain and want to design implement and maintain only one model - your domain model - have a look at Persistor.NET. The database model is derived automatically.

Hans-Peter


www.persistor.net

Hanspeter at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...
# 9

Hi,

Check out IdeaBlade/DevForce - http://www.ideablade.com/developers.html

Regards,
Thomas Nielsen

Topmcsd at 2007-8-30 > top of Msdn Tech,Architecture,Architecture General...