Ambrosian Scripture

Real-world answers to real-world problems.

DLinq *is* an ORM

I just ran across this thread on TSS.NET.  I found it somewhat curious that there is a Microsoft guy on there claiming that DLinq is not an ORM.  While I don't doubt there's a way to construe the definition of ORM to make it not true (as the MS guys seems to try), I think that's counterproductive and just plain silly.  As one of the commenters said, it looks and feels like an ORM, so why not just call it that? 

At the MVP Summit, it was confirmed that LINQ will support extensibility into third-party tools via expression trees.  The problem is first that they don't have that stuff documented and second that they plan to change it.  This was gleaned in a session on DLinq where the product team was looking for feedback.  They're very concerned about getting feedback, as Dinesh has illustrated, about DLinq, but I think that they need to first focus on getting their API for extending LINQ (a la expression tree structures and the like) solidified and documented ASAP.

On that note, I've talked to Paul Wilson here at the ASPInsiders Summit about DLinq and the aforementioned blog by Dinesh.  Both of us have written ORMs, and both of us have commented on Dinesh's blog.  However, you'll note, neither of our comments have shown up.  I'm not sure what that's all about, but if you have feedback for the LINQ or DLinq team, you can post it on this post on dotNetTemplar, and I'll make sure that the related teams are aware of it.  Now is the time to give your feedback on these products as they are early enough in the design cycle and are focused on that feedback.

Posted: Oct 04 2005, 06:26 PM by Ambrose | with 6 comment(s)
Filed under:

Comments

Stuart Ballard said:

FWIW, I commented on Dinesh's blog entry also and it didn't show up either. It almost seems like they don't want any comments from anyone who's written an ORM of their own...
# October 4, 2005 9:01 PM

asp said:

At the MVP Summit, it was confirmed that LINQ will support extensibility into third-party tools via expression trees.
download http://www.soft30.com
# October 5, 2005 3:59 AM

Frans Bouma said:

same here, my comments also don't show up.

I didn't know you wrote your own O/R mapper as well Ambrose, we could have chatted about it at the summit. :)

DLinq isn't called an O/R mapper because it falls short in that category. It's without a focus as well: does it follow the Object -> Table approach or the Table -> Object approach? It has that much limitations that I find it not that useful in projects other than simple petprojects. For example, consider an enterprise app with 300 tables, named in the style like TBL_CUSTOMER_DATA. You don't want to write 300 classes by hand with all those horrible attributes, nor do you want to use a tool which generates classes with names like TBL_CUSTOMER_DATA. You want CustomerData, hide relations, automatically detect m:n relations, etc. etc. etc.

Skeppa gave me his card, I'll sum something up for them in the coming weeks.
# October 5, 2005 5:16 AM

J. Ambrose Little said:

Hi Frans,

Yeah, I agree that DLinq has shortcomings; I just think that, despite that, it is attempting to do what ORMs do (and doing that on a basic level), so it is an ORM. Do you think there is an objective bar, a set of specific features, that such a tool must have before it can be called an ORM?
# October 5, 2005 11:28 AM

Frans Bouma said:

I think the biggest advantage of an O/R mapper above other tools is the ability of such a tool to produce SQL out of metadata + object state. So for me, an O/R mapper is a tool which can do that.

What MS is doing IMHO is just avoiding their internal flamewars against O/R mapping in general, but I don't see why they would need to.

What would be interesting though is: what happens to Microsoft Business Framework and will it use DLinq? (if it's still alive of course)
# October 5, 2005 2:32 PM

J. Ambrose Little said:

It seems like MBF has to use it; LINQ just offers too much value, IMO, and since DLinq is their answer to the persistence layer, it would follow. As far as I know, it is alive and well. It will be interesting to watch how it develops.
# October 5, 2005 3:33 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)