Thursday, July 9, 2009

ORM - Object-Relational Mapping

Just started using LinqToSql. Absolutely love it, typed data objects are just awsome. Co-worker
mentioned Subsonic, looks like it was pretty good. But I think linq may be faster compared to SubSonic or NHibernate.
Here is quick comparision of various ORM's by the SubSonic creator:
http://blog.wekeroad.com/2007/12/14/aspnet-mvc-choosing-your-data-access-method/

In my current project, the sys admin has mentioned he wouldn't encourage access to data except through stored procs, I agree with him. Fortunately using LinqToSql does allow invoking stored procs.

Here is an excerpt

"Many people believe that database access should always be performed through Stored Procedure to improve security (permissions can be granted only for those stored procedures an application should run), and for improved performance (query plans are cached between calls and better optimization can be carried out). LINQ to SQL fully supports Stored Procedures for general calls and the update, insert and delete operations, and in many cases improves the developer experience by freeing you from having to create input parameters by hand or having to create a strongly typed object collections to work with any returned results. However, solely using Stored Procedures eliminates the benefits of writing Query Expressions in the developer’s native coding language. There is middle ground though; you can use Stored Procedures for all Insert, Update and Delete operations and use Query Expressions for data retrieval. This allows the database to be secured against data corruption, while still allowing the developers to construct query expressions in VB or C#."

http://www.hookedonlinq.com/LinqToSQL5MinuteOVerview.ashx:"

No comments:

Post a Comment