Michael Paladino Lead Application Developer EagleOne
Lead Application Developer at EagleOne Experience and interests: Classic ASP .NET SQL Server Content Management Systems Open source software FSDNUG!
Problems with standard ADO.NET data access What is ORM? What is SubSonic? Setup Basics Web Form Controls Other SubSonic Goodness Summary / Resources
Demo 1: Data access in code-behind Requires duplication Lots of hand-coding No compile-time checking Demo 2: Custom objects Lots of hand-coding No compile-time checking
Object-Relational Mapping Wikipedia: “…programming technique for converting data between incompatible type systems in relational databases and object-oriented programming languages.” Typically automated Example.NET Implementations: NHibernate Wilson’s O/R Mapper ADO.NET Entity Framework LINQ to SQL
ORM tool – Provides.NET objects that allow access to the underlying database. Designed for web development but can be used in Windows Forms apps Collection of web forms controls to speed up web development Provides ability to track database changes Supports SQL Server 2000 and 2005, MySQL, Oracle (SQLLite, SQLCE, PostGres coming soon) Open Source
One-Time Download and install release Download Setup toolbar buttons in Visual Studio Add controls to Visual Studio toolbox Per-Project Add reference to SubSonic.dll Update Web.config Create _DB and _Generated folders
Basic blog engine Multiple authors, only one per post Multiple categories per post Comments Simple editing Database structure SubSonic conventions SubSonic conventions
ActiveRecord pattern Working with single objects ViewPost.aspx Working with collections Default.aspx Add comments to ViewPost.aspx Updating and deleting EditPost.aspx
Calendar Control – EditPost.aspx Radio Buttons – EditPost.aspx Dropdown – EditPost.aspx ManyManyList – EditPost.aspx Scaffold – Scaffold.aspx Auto Scaffolding – AutoScaffolding.aspx QuickTable – Sandbox.aspx
Views – Sandbox.aspx Stored Procedures – Sandbox.aspx Query Tool – Sandbox.aspx Partial Classes – Comment.vb “Sugar” – Sandbox.aspx DB Versioning Template Customization
SubSonic has the potential to greatly speed up database-driven web development Future possibilities?
Main Site: CodePlex: Rob Conery: Presentation Slides:
Michael Paladino Blog: Twitter: LinkedIn: Fort Smith.NET User Group