Archives / 2004 / March
  • Thanks to Contributors of WilsonORMapper v2.0

    I want to give a very special thanks to several significant contributions from subscribers for the just released WilsonORMapper Version 2.0:

    1) Ken Muse participated in lengthy design discussions, gave lots of sample code, and helped with a lot of testing for the major new features of Recursive Persistence and Cascading Deletes.  We ended up staying as close as possible once again to the MS ObjectSpaces syntax, including using an enum in PersistChanges and using the cascadeDelete mapping attribute for relations.

    2) Allan Ritchie provided code that became GetCollection, for your own strongly typed custom collections, as well as single-handedly adding the feature for using embedded resources for the mappings.  The GetCollection method takes an extra parameter to allow you to specify your custom collection type, about as close as we can get to Generics without actually having them in .NET v1.1!

    3) Jason Mesches, one of Kevin McNeish's developers at Oakleaf Enterprises, wrote the OPath converter that is now available in the QueryHelper's GetExpression method. Kevin also has Rick Strahl and John Miller adding support for the WilsonORMapper to his Mere Mortal's Framework -- so if you need a complete framework to get up and running quickly, I strongly recommend theirs.

    4) Jerry Shea added some support for class hierarchies and simple mapping inheritance, as well as making the ObjectHolder's InnerObject property settable.

  • Altanta DevDays and Franklin's .NET Rocks

    I attended the Atlanta DevDays today and caught up with Jerry and Matthew.  While I agree with Jerry that I don't personally get anything much out of these things, other than socializing, I think that's mostly due to the level that we have reached and not just a matter of the content.  I actually thought the ASP.NET security track was quite in-depth, although I agreed with Jerry that there wasn't anything new that folks like us shouldn't already know.  But there's far too many developers out there that don't have a clue they may need to configure anything in IIS, or that IIS6 in W2K3 works differently, that even the intro hour wasn't “bad” -- it was just boring to us.  And I don't think most developers have ever actually had the opportunity to see real hacks being done, which were shown in the second hour, so I think it was probably an eye-opener to most people.  So yes, I didn't get much out of it, but I thought it was an excellent day, and I look forward to the MVP Global Summit in a few weeks for my own real education.  By the way, I do think that big conferences like TechEd and DevConnections need more advanced sessions, and I've heard those complaints often in the past from attendees over lunch, although apparently the people running those shows don't believe it to be the case.

  • O/R Mappers: Optimistic Concurrency

    I finally got around to adding support for optimistic concurrency to my WilsonORMapper, and it definitely had me think through quite a few design scenarios that I'll share here.  Optimistic concurrency works by adding some portion of the record's original values to the where clause of the update statement to make sure no one else has updated it first.  Modifying the update is relatively easy, so my issue was that I needed original values.  It was tempting to think I had the original values already, since I do track the values, but the problem is that my broker might be used in a multi-user web or distributed app.  This means that the values I'm tracking will always be the last known persisted values, which is great for some scenarios, but this does not support optimistic concurrency.