SubSonic v2.3 with SQL Server 2008 TVP Support

This project contains the modified base code of the SubSonic v2.3 ORM, originally written by Rob Conery, that now supports SQL Server 2008 TVP's (table valued parameters). This modification allows you to generate your full DAL, access and manipulate data in an object-oriented fashion, and most-importantly, now gives you the ability to pass large chunks of data to your stored procedures, in the form of DataTables, rather than bulk inserts.

SubSonic now creates complex serialized objects for use in WCF projects.


SubSonic in Summary

SubSonic is A Super High-fidelity Batman Utility Belt that works up your Data Access (using Linq in 3.0), throws in some much-needed utility functions, and generally speeds along your dev cycle.

For more information and examples using SubSonic, click here.

Using table valued parameters to pass data into your stored procedures is more efficient than using bulk inserts. More details about TVP's can be found here on the MSDN site.


TVP's in Summary

Table-valued parameters provide an easy way to marshal multiple rows of data from a client application to SQL Server without requiring multiple round trips or special server-side logic for processing the data. You can use table-valued parameters to encapsulate rows of data in a client application and send the data to the server in a single parameterized command. The incoming data rows are stored in a table variable that can then be operated on by using Transact-SQL.

Column values in table-valued parameters can be accessed using standard Transact-SQL SELECT statements. Table-valued parameters are strongly typed and their structure is automatically validated. The size of table-valued parameters is limited only by server memory.


TVP vs. Bulk Insert

The performance advantages of using TVP's vs bulk insert can be found here.

Last edited Oct 26, 2011 at 6:08 PM by elhaix, version 6