140 likes | 241 Vues
Join Michael Paladino, Lead Application Developer at EagleOne, as he dives into the challenges of traditional ADO.NET data access and introduces SubSonic, an ORM tool that streamlines database interactions. This presentation covers the essential concepts of ORM, provides setup guidelines, and showcases web forms controls for rapid development. Learn how SubSonic can improve efficiency in .NET applications, whether for web or Windows Forms, and discover practical resources to get started.
E N D
Michael Paladino Lead Application Developer EagleOne Easy Database Access with SubSonic
Who am I? • Lead Application Developer at EagleOne • Experience and interests: • Classic ASP • .NET • SQL Server • Content Management Systems • Open source software • FSDNUG!
Outline • Problems with standard ADO.NET data access • What is ORM? • What is SubSonic? • Setup • Basics • Web Form Controls • Other SubSonic Goodness • Summary / Resources
Problems with standard ADO.NET data access • 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
What is ORM? • 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
What is SubSonic? • 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
Setup • One-Time • Download and install release 2.0.3 • 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
Demo App • Basic blog engine • Multiple authors, only one per post • Multiple categories per post • Comments • Simple editing • Database structure • SubSonic conventions
SubSonic Basics • ActiveRecord pattern • Working with single objects • ViewPost.aspx • Working with collections • Default.aspx • Add comments to ViewPost.aspx • Updating and deleting • EditPost.aspx
Web Forms Controls • Calendar Control – EditPost.aspx • Radio Buttons – EditPost.aspx • Dropdown – EditPost.aspx • ManyManyList – EditPost.aspx • Scaffold – Scaffold.aspx • Auto Scaffolding – AutoScaffolding.aspx • QuickTable – Sandbox.aspx
Other SubSonic Goodness • Views – Sandbox.aspx • Stored Procedures – Sandbox.aspx • Query Tool – Sandbox.aspx • Partial Classes – Comment.vb • “Sugar” – Sandbox.aspx • DB Versioning • Template Customization
Summary • SubSonic has the potential to greatly speed up database-driven web development • Future possibilities?
Resources • Main Site: http://subsonicproject.com/ • CodePlex: http://www.codeplex.com/subsonic • Rob Conery: http://blog.wekeroad.com/ • Presentation Slides: http://www.fsdnug.org/previousMeetings.html
Contact Info • Michael Paladino • Email: mpaladino@goeagleone.com • Blog: www.mpaladino.com • Twitter: www.twitter.com/mpaladino • LinkedIn: http://www.linkedin.com/in/michaelpaladino • Fort Smith .NET User Group • www.fsdnug.org