Joseph, Answers inline...
-----Original Message----- From: Joseph Healy [mailto:Joseph.Healy@;AVASYS.COM] Sent: Samstag, 12. Oktober 2002 01:45 To: [EMAIL PROTECTED] Subject: Re: [ADVANCED-DOTNET] Strongly-Typed DataSets vs. Strongly-Typed Collections Thomas, While I get the drift of you code, the abstraction of the data layer appears to be fairly wedded to the CMS architecture. *** No, the opposite is true :-) See, the only reasons why I only choose examples from the CMS is because that was code I was currently working on. I have other systems here that use the Broker, too. The CMS is wedded to the broker, not the other way around. Again, I just wanted to give samples out of a "coherent suprrounding", otherwise I could have choosen our address management system, our accounting system in development or our license management system :-) I have a code layer that, given a connection string, generates stored procedures for the base CRUD actions on a database as well as RUD actions for unique/foreign keys. It then gens a fully SqlParamater(ized), subclassed, ICloneable SqlCommand object for each one. As it creates them it stuffs them in a synchronized hashtable and either hands it back (WinFrom app) or stuffs it in the Application object (ASP.Net). *** I have decided to go against SP's FOR NOW (means: the sql mapping layer is free to generate and use them, but my current one does not). The perforamance benefit is not yet big enough :-) My next natural step is an O-R mapping layer in lieu of seeing MS Objectspaces anytime soon. I've looked at a dozen .Net O-R Mapping layer products/projects/archtectures now and have done initial prototypes with both your approach and the DataSet-centric approach Ben has taken. I definitely agree MS dropped the ball here and I wish they would just get on with Objectspaces and spare us all the hassle. *** ObjectSpaces will come with V2 of the framework. Still, IMHO, our product will be superior then, becaue I plan to move the way of fully integrating with SQL Server YUKON, while MS propably goes the "generic" way. I tend be fairly agnostic other than having a desire to have the entire layer driven off an XSD repository (an DLL version of XSD would be handy...). That said, for less complex requirements I simply embed a DataRow in objects and for the collection object use an embedded DataSet. *** I thought about using an external file, but then I found out two things: (a) You cant change most of your mapping info anyway. For strings, our mapping layer handles SOME of the database functionality ,like makign a dhar field "fixed length" by padding with spaces etc. (b) as a programmer I prefer to have everything in one place. *** We later will go even further. The generated schema (and generated classes) will be compilable into a dll. And a schema syncrhonisation tool will be able to genereate the ddatabase model from the embedded schema :-) You seem to have been fairly thorough and thoughtful in your developing your architecture (I particularly like the Condition object [if one is going to use in-line SQL statements]). Your's general tack reminds me of Jeremy Miller's approach (http://www.csharptoday.com/content.asp?id=1770). *** Hm, I dont read csharptoday, so I cant read this. But I was basiclly following scott ambler :-) Are you commercializing this? If not do you have any more detail you can share (an article perhaps), or if you are, perhaps a white paper on the general architecture. *** it will be commercial soon :-) Not expensive, though, and with a free for noncommercial license. Thomas You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.