Object Relationship Mapping ? RRS feed

  • Question

  • 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 ?


    Tuesday, August 1, 2006 3:53 AM

All replies

  • 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

    Tuesday, August 1, 2006 4:43 AM
  • 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.


    Hammad Rajjoub



    Tuesday, August 1, 2006 10:12 AM
  • Do look at a the below thread in this forum


    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. "


    Tuesday, August 1, 2006 3:06 PM
  • 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"



    Friday, August 4, 2006 10:29 PM
  • 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

    Friday, August 11, 2006 7:50 AM
  •  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".

    Thursday, August 17, 2006 7:32 AM
  • 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.






    Friday, August 18, 2006 2:46 AM
  • 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.



    Tuesday, August 22, 2006 7:55 AM
  • Hi,

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

    Thomas Nielsen


    Tuesday, August 22, 2006 12:14 PM