I am focusing on b .Internet application using Silverlight around the client side. Now I have come to the stage where I wish to get rid of my static dummy data around the server side and give a database rather.
For that database I'd like to use one of these ORM's where I'm able to simply tag my model classes and also the database tables are made for me personally. Used to do some tests with Groovy and Grails earlier, and thought GORM did an even job. What's the easiest method to setup a database insInternet?
The very first factor that strikes me is by using nHibernate. I do not fully realize anything about nHibernate, but I have heard many people bring it up with enthusiasm. However I observe that ADO .Internet is also an ORM, that is included in the framework.. Does nHibernate outbeat ADO? And what is the cope with LINQ? that's listed being an ORM too, however i though LINQ was more for that query part? Can One "define" the database through LINQ?
Any comments and recommendations are welcome. I'd also like to hear for those who have opinions on which database to make use of. I suppose MS SQL Server may be the simplest choice?
NHibernate and Silverlight:
Among the NHibernate contributing factors, Ayende Rahien, lately published a blog post about NHibernate and Silverlight:
I acquired a couple of questions regarding NHibernate and Silverlight. That's really an easy factor to reply to.
Have no idea try. It normally won't get on. Actually, they aren’t extending its love to get on.
Silverlight does not have System.Data.IDbConnection, and you will securely think that it somewhat vital that you NHibernate.
So, running NHibernate in the Silverlight application, most probably to be able to access a nearby database has gone out. However I don’t believe that this is exactly what many people really been on mind once they request about NHibernate and Silverlight. They would like to learn about NHibernate around the server and Silverlight around the client.
Which is simple enough to reply to too, it will work as with every client / server system. The same rules apply.
So NHibernate should act as lengthy while you don't plan for doing things from the Silverlight client.
NHibernate is a superb ORM but it features a quite steep learning curve, so you ought to be ready to invest a while into learning the framework when you purchase NHibernate. If one makes that investment you'll be compensated through the versatility and energy that NHibernate provides.
Castle ActiveRecord is really a framework that's develop surface of NHibernate, and therefore is very much like NHibernate. It cuts down on the training curve a little, because it adds some additional abstractions. Because the title suggests it's build to be used using the ActiveRecord pattern, and features a base class that provides you a great deal of functionality if you do not mind utilizing their ActiveRecord base class.
LINQ to SQL:
LINQ to SQL and also the ADO.Internet Entity Framework are two ORM:s which are incorporated within the .Internet Framework. LINQ to SQL is really a more compact and much easier framework than Entity Framework, however it has some nice features, and isn't very difficult to obtain began with.
Entity Framework isn't very difficult to obtain began with too, but it features a couple of quite large problems in the present version, as it is still in version 1. However, the following version of Entity Framework will improve and connect most of the current weak points.
LINQ and Schema Generation for that Frameworks:
Many of these frameworks have support for implementing LINQ because the querying language. LINQ to SQL and NHibernate can produce a schema for you personally according to your domain classes and mapping. Entity Framework can't produce a schema in v1, but v2 will prove to add that functionality.