Yes, that's called O/R mapping, and it exists oh... for a decade or so.

I just watched this video, where Anders Hejlsberg explains to Channel 9 what Linq is. I couldn't help it but think "Why is everyone at Microsoft doing as if they've invented something new, or hearing from it for the very first time?". Also read the comments below the video on channel 9... I seriously doubt it if some people ever look beyond what they get from Microsoft. . I like Linq's general structure, and I think it's a step forward, but please... drop the act as if you all discovered something no-one has thought of before, especially in the department where databases come into play.

Same with the XLinq examples given. I find it interesting Microsoft finally understands that the horrible way the current Xml objects work is something which should be changed. What I also find interesting is that it's a big achievement to be able to finally create elements and attributes in a more convenient way. Anyone who has done some Xml work knows that the first thing you do is to write some wrapper which will produce the elements and attributes at the spot where you want them. Write it once, re-use it everywhere, and even today, not in 200n, n > 6

I'm not that into plugging my own work after making a point, but for creating and using an object-oriented overview of your database(s) and be able to use that with queries which are checked at compile time and are type safe, you don't have to wait till Linq finally arrives. And no, I didn't invent it either nor did a lot of other people in the O/R mapper field. The O/R mapping patent (which uses Xml files ironically, not attributes) states MS invented it, we all know that one of their biggest competitors, Oracle, sells a tool today which is around at least 10 years utilizing this same stuff.

15 Comments

  • Very well said - again, MS User arrogance/ignorance showing in the comments.



    Personally I like the LINQ things - sadly, I can see tremendous limitations which tell me that while I will support LINQ in the future, I still have to turn our my own langauge, as it looks like. In general, it looks like (just installing it on my computer when RC level bits come) t is not extensible enough to accept a notation for query tips, cache control and a lot more that I actually need.



    It is nice to finally see this in the langauge, and the implementation is nice, but the idea is neither new nor revolutionary at all. It is more - the ignorance of the people commenting that shows.



    Well, if idiots do not read books on the matter of their work, some nice impelmentation and nice ideas that are just evolutionary may acutally seem like a revolution for them.



    Btw., O/R mappers are older. TopLink (the now-oracle tool) was by fast not the first. I think the first were written for Smalltalk and date back about 20 years or so.

  • TopLink was actually first created for SmallTalk I think, and then ported to Java.

  • Argh, I guess I have to toss that blog post I wrote this morning, joking about MS now having invented OR Mapping. I'm too slow compared to you Frans...

    :-)



    Best Regards,

    Jimmy

    www.jnsk.se/weblog/

    ###

  • The impression I got from being at the PDC was not that Microsoft thought they'd invented O/R mappers but rather they were the first to truly integrate it as a core part of what was a general purpose language. I could be wrong though and you're obviously entitled to your perception of the comments in the video.



    I also don't think this is even worth talking about/breaking down. I mean, all this does announcement does is validate what you folks already do with your applications (LLBLGen, etc.). I'd rather hear about what your application has and why your applications make more sense than this 'new technology' than I would hear folks complain about Microsoft's percieved ineptitude with the technology. You do yourself and us a better service by doing so.



    My two cents.

  • "ADO.NET team showed an .XML file with mappings, and used LINQ over it. The interesting part was that he was not using DLinQ but another mapping technology."



  • Sorry Alex if my comment was counter productive. It was considered a joke.

    :-)



    Best Regards,

    Jimmy

    www.jnsk.se/weblog/

    ###

  • I'm a little tired of the defense so many are giving that this is just an early preview -- when its the third attempt in at least 5 years.

  • It's not the ORM that they provide that is exciting, it's the languague integration that is facinating.



    The fact is that it would be very easy for you to do the same by including ORMApperOfChoice.Query declaration.



    This mean that I also don't have to stop and switch cycles from C# to SQL to the ORM query language to whatever.



    Add to that the ability to use set operations on in memory objects, and it's pretty powerful.

  • ::when its the third attempt in at least 5

    ::years.



    ...and nothing in the fundamental principle is new. Even 5 years ago, for their first attemtp, they could just have read some white papers from other people BEFORE creating their stuff. At least this is how I started it.



  • The part I am not looking forward to is having to know this inferior implementation of O/R mapping because it is inevitable that I will work on a client's project which uses this garbage. I sure hope MS fixes this by then . . .

  • Frans + others, I'm not really sure that I understand what the gripe is here. It doesn't really matter whether you invented it or they did, the fact is that we are getting it :-)



    Finally we won't have to turn up to a client's site and work out which O/R mapper has been used (or whether they've rolled their own!).



    I'd cut some slack here... or at least hammer them about missing features - but not play the "not invented here" card.



  • Hey, Channel 9 is all about 'Softies patting each other on the back. I find that site to be very nearly useless, aside from the Ballmer interview that Scoble did.

  • "an article by Frans yesterday which was a rant "against" LINQ."

    No! It's not a rant against Linq! It's a rant against "we invented O/R mapping, look how cool this new feature is which offers us an OO view of the db!".



    I actually LIKE linq, the general system of being able to traverse any IEnumerable<T> with functions and expressiontrees. See my previous post about Dlinq and Linq, it even has in the title: "Linq==cool".



    Watch the video and read the comments below the video post. Then take a step back and think by yourself: "have these guys ever heard of O/R mapping or do they see this phenomenon for the first time?". I got the feeling they did saw it for the first time. Which is why I posted this blogposting.

  • "Watch the video and read the comments below the video post. Then take a step back and think by yourself: "have these guys ever heard of O/R mapping or do they see this phenomenon for the first time?". I got the feeling they did saw it for the first time. Which is why I posted this blogposting."



    I agree that it doesn't sound like these guys ever heard of O/R Mapping ever before - so ofcourse they are going to think - Ahh! praise microsoft! (for this technology that we don't know is actually called O/R Mapping)

  • I had the same reaction when you start hearing all the design patters and unit testing chatter about 2 years ago. They ignored it for so long, or didn't talk about it, then all the sudden, they added a little "best practices" to the koolaid.

Comments have been disabled for this content.