DataMapper Installation Woes

Posted December 18th, 2007 in Linux, Object Relational Mapping, ruby by ryan

I started playing more with Sinatra, and I have so many ideas for it’s usage.  At work I’m using to prototype a quick way to enable remote execution of .Net command line apps.  So I started looking into DataMapper as well to use with it.

So far I can’t get the datamapper gem to install on either XP or Ubuntu.  It gives me the same compilation errors on either platform.  I realize the problem is that I’m missing some software I need to build, but it still seems like a hassle.  Active record “just works”.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

SubSonic Beta 2

Posted April 11th, 2007 in .Net, C#, Object Relational Mapping, Open Source by ryan

Rob and Eric have already released a second beta for SubSonic 2.0.

I introduced a colleague to SubSonic yesterday and found myself telling her how much faster I can get an app out the door because I don’t have to build a custom data access layer. I felt like I was telling her a secret…

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

SubSonic 2.0 Beta 1 Released

Posted April 9th, 2007 in C#, Object Relational Mapping by ryan

Today Rob and Eric pushed out the latest SubSonic offering to the general public.  There are tons of new features and a great list of what’s in store over at Rob’s blog.  I could swear that Phil actually announced it before I saw the change on Rob’s Blog.  He’s psychic or something…..

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Adjusting the default web.config schema for SubSonic

Posted October 20th, 2006 in .Net, Object Relational Mapping by ryan

While working in Visual Studio Team Suite, I ran into a slight problem while using SubSonic. I was using an Application Diagram to model my application and once I had switched to SubSonic (see yesterday’s post), my diagram locked. Visual Studio was nagging on the requirePermission attribute added within the custom config section for SubSonic. The section in the web.config file looks like:

<configSections>  <section name="SubSonicService"  type="SubSonic.SubSonicSection, SubSonic"  allowDefinition="MachineToApplication"  restartOnExternalChanges="true"   requirePermission="false"/>   </configSections>

So I navigated to C:\Program Files\Microsoft Visual Studio 8\Xml\Schemas\DotNetConfig.xsd and added the following line at line 44:

<xs:attribute name="requirePermission" type="boolean_Type" use="optional" />

This solved my problem and Visual Studio unlocked my diagram.

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Converting to SubSonic

Posted October 19th, 2006 in .Net, Object Relational Mapping by ryan

In my quest to speed up my development time, I had started looking into ORM type frameworks such as Persistor, NHibernate and Gentle.Net. I had previously chosen Gentle due to it’s price (FREE) and it’s relatively minimal configuration. I have still looked around at new things from time to time, but had pretty much stuck with Gentle. Recently I had started looking at SubSonic. SubSonic is a “Rails” inspired framework that builds a data access layer for you at compile time and places the generated classes into memory. It is a very smooth framework with a low bug count and it is also free and open source. Developed and distributed by Rob Conery, SubSonic has a good support structure in place and a growing community site as well.

Yesterday I was in the middle of working on a web service using ASP.Net 2.0, SQL 2000, and the Gentle.Net framework. I was having trouble trying to execute a simple query with Gentle and was not having a whole lot of luck. I tried going to the Gentle website only to find the server down due to maintenance. Not wanting top stop development, I decided to create a new project using SubSonic instead and just copy any necessary code from the old service to the new one. In about 15 minutes I was able to cover about 1.5 hours of work. I am amazed.

I started by copying the constructor and some of the configuration data from the old project to the new one. After that, I added the SubSonic configuration data, which happens to be a fraction of what was required for Gentle. Next I added the Builder.abp file and hit CTRL + Shift + B. I now had a strongly typed data access layer!

It is amazing how much development effort is reduced to get to the same result when using SubSonic. I’m going to finish evaluating it on this project and possibly start using it a little more often when the situation will allow….

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]

Persistor.Net Object Persistence Framework

Posted June 2nd, 2006 in .Net, C#, Object Relational Mapping by ryan

Introduction

The Persistor.Net object persistence framework is featured in the latest issue of MSDN Magazine. From the official Persistor.Net website, “Persistor.NET is a library that provides transparent persistence for pure object oriented development for the Microsoft™ .NET Platform.” If you don’t know anything about object persistence, think “No T-SQL code”.

I have been interested in object persistence for some time and have briefly reviewed NHibernate and Gentle.Net and I have found them to be both promising and daunting. There is no way around the learning curve to use these frameworks. When I set out to evaluate the Persistor.Net Express Edition, I wanted to see if this product would be easy to use as well as functional. Here is the feature breakdown for you:

  • Pure object oriented modelling without trade-off: Use inheritance, polymorphism and interfaces without any restrictions or special treatment.

  • Database unaware: Persistence provided is completely transparent – no database setup, scheme definition or access specification.

  • Persistence for all classes: Persistence is not restricted to specialized classes but incorporates also .NET Framework classes or 3rd party classes.

  • Zero Configuration: Start without any previous configuration or mapping definition.

  • Ready for .NET Framework 2.0: All new features like generics or partial classes are supported.

  • Supports Agile/eXtreme Techniques: The use of non-intrusive Persistor.NET makes it easy to develop, evolve, and maintain software code in an agile manner.

Initial Review

After a quick download (420 KB) and installation, I opened up the sample application in Visual Studio .Net 2005 and stepped through the project. This gave me the information needed to use the product.

I created a new website in Visual Studio .Net 2005 and added references to ToTop.Datastore.dll and ToTop.Persistor.dll. I borrowed code from the sample on creating a reference to the datastore and persistor objects:

Datastore datastore = datastore.CreateDefault();
if(!datastore.Exists())
datastore.Instantiate();
Persistor persistor = new Persistor(datastore);
persistor.Save(myObject);

I created a simple class with 2 private fields, 2 public properties to expose those fields, and marked the class with the [Serializable] attribute. Within ten minutes of installing the product I had a working example to create, read, update and delete data, without writing a single line of T-SQL. This product was immensely easier to use than any other object persistence framework I had seen to date. On the small scale that I have implemented this, it seems very fast for all it has to do at runtime. I look forward to taking a look at the full version.

Conclusion

This is a fast and simple framework that will attract more developers that need to quickly develop business applications. However, unless the future version has the ability to choose a database server, database name, and user credentials, this product will probably not attract many ASP.Net developers. Most ASP.Net development that includes a database typically uses a stand alone database server and doesn’t combine ASP.Net and SQL on one box. The Express version of the product looks for the Persistor database on the localhost. This is great for Windows client software developers, but sends us ASP.Net developers back to the Open Source arena to provide a solution. Look for a review of the full version in Part II of this post.

Updated 6/7/2006:
I contacted the developers to inquire about the Professional Edition features and pricing. At 990 euros (~$1271 US) for the single developer edition, further evaluation of this product is cost prohibitive. Back to open source :) .

[Slashdot] [Digg] [Reddit] [del.icio.us] [Facebook] [Technorati] [Google] [StumbleUpon]
FireStats icon Powered by FireStats