Hi Tony, Within ADO.NET there is a concept called a Strongly Typed DataSet, which, if your Managed Provider supports the correct interfaces, Microsoft will auto-generate for you from a regular DataSet (which as you note is not strongly typed). The resulting Strongly Typed DataSet is a strongly typed business object, which will reject passing a String to a Date type, for instance, and will reject it at compile-time, not run-time. Wrap it with a simple DAL and you get a very powerful business object that can support a wide variety of clients. The DAL allows you to customize your accessors and expose data directly or through SOAP or RESTful Web Services.
In order to support Silverlight, which does not support the System.Data assembly due to browser sandbox restrictions, we auto-generate classes for Silverlight, which can be used in other places, too, but we have found that the Strongly Typed DataSet and DAL are a very powerful combination, and where useable are more than adequate. -----Original Message----- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Tony Gravagno Sent: December-21-11 7:43 PM To: email@example.com Subject: Re: [U2] Is there any ORM's for Universe. NHibernate, Entity Framework etc Robert, sincere apologies, and thanks for the correction. To avoid misunderstandings, there is a huge difference between a DataSet and a strongly typed business object. They are sometimes used alternatively but there are times when one or the other is absolutely required. If ORM was as simple as returning a dataset we wouldn't have a need for ORM frameworks like NHibernate, CSLA, or commercial offerings like the Telerik OpenAccess ORM. Here is one excellent Q&A on the topic: http://stackoverflow.com/questions/657327/is-dataset-an-orm [Another obligatory AD tag here I guess] The word "proprietary" may prompt some discussion: Every framework does what it does in a unique fashion, that's what differentiates it from others. In this regard, all commercial and FOSS frameworks are "proprietary". But I did mention that the source which mv.NET generates is completely open, as are the templates that it uses. The generated classes are all "partial" which means you can modify the generated code. But preferred and better, partial stub classes are also generated which allow developers to hook into functionality at many key points. Generate the base classes as many times as you want and never lose your mods. In the context of the request for an ORM, people actually do want to generate DLLs which are proprietary to their own application. There's nothing wrong with that, that's the goal, and that's exactly what mv.NET helps VARs to generate. I position this as a feature. In addition to Solution Objects and the code generator component, mv.NET also includes the Adapter Objects library which renders collections of items as a strongly-typed DataSet, with Tables, Rows, Columns, etc. UO.NET has similar functionality. All this, yes, and much much more, are included in the same reasonably priced offering. Now, mv.NET does Not have any functionality related to Java. If you need to deploy over *nix or you're creating JARs for existing Java clients, then I highly recommend investigation of FusionWare's offerings as a valuable superset of UOJ. As an independent developer, my position in this game of tool sales is different from others. I sell specific software packages because I like them - I don't like them because I sell them. I won't sell software or services to a company if I know there's a better solution for a specific need. So I recommend that anyone interested in connectivity above and beyond UO should look at all of the options. If it turns out that someone likes the same tools I like, great, the commission earns me a cup of coffee for my time. If not, I hope to benefit by learning why people made other choices. It's all about solutions, not tools - or should be anyway. T > From: Robert Houben > > [AD] > Actually, there is another alternative. FusionWare's Managed Provider > allows you to create a strongly typed dataset, and you can use this to > create a Data Access Layer. The strongly typed dataset is actually a > Microsoft DataSet object, not a proprietary object of any sort. To > see more, view any of the "Nothin' but .NET" series at > http://www.youtube.com/fusionwareint > > We also provide similar functionality for Java environments through > our Java Data Adapter. > [/AD] _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users