This project is read-only.

Data Access Layer Scenarios Frame

J.D. Meier, Alex Homer, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher, Akshay Bogawat


  • General
  • Blob
  • Batching
  • Connections
  • Data Format
  • Exception Management
  • Queries
  • Stored Procedures
  • Transactions
  • Validation
  • XML


  • How to design your data access layer?
  • How to choose data access technology?
  • How to design data abstraction?
  • How to pass data across layers and tiers?
  • How to model your data?
  • How to design for very large databases?
  • How to design a domain-driven architecture?
  • How to design a database-driven architecture?
  • How to manage database connections?
  • How to handle transactions?
  • How to handle concurrency?
  • How to design for a multi-tenant database?


  • How to determine when to use a BLOB?
  • How to determine where to store a BLOB?
  • How to handle BLOBs using the DataReader?
  • How to read BLOB data from the database?
  • How to write BLOB data to the database?
  • How to allow searching through a BLOB in a database?


  • How to determine if batching will increase data access performance?
  • How to design for bulk inserts and update?
  • How to execute SQL statements in a batch?
  • How to use Data Adapter for batch updates?
  • How to deal with database locks during batching?
  • How to use batching to pre-load a database with large amounts of data?


  • How to use Windows authentication for data access?
  • How to use SQL authentication for data access?
  • How to secure connections?
  • How to configure and use connection pooling to improve command performance?
  • How to monitor connection pooling for SQL Server connections?

Data Format

  • How to choose the correct data formats in your data layer?
  • How to utilize serialization to allow reading and writing of objects to a database?
  • How to map objects to a relational store?
  • How to pass data across tiers?

Exception Management

  • How to use structured exception handling in data access?
  • How to log data access exception details?
  • How to display friendly error messages to normal users?
  • How to show detailed error messages for debugging purposes?
  • How to design for unhandled exceptions?
  • How to determine if you need custom exceptions?
  • How to design error monitoring and notification strategy?


  • How to optimize a database to for queries?
  • How to decide query location?
  • How to keep business logic and queries separated?
  • How to choose between dynamic SQL and Stored Procs?
  • How to design for protecting from SQL injection?
  • How to execute data access commands asynchronously?

Stored Procedures

  • How to pass a parameter to a stored procedure?
  • How to retrieve output parameter values of a stored procedure?
  • How to call a stored procedure using various data access technology?.
  • How to Cache Stored Procedure Parameters?
  • How to deal with business logic and stored procedures?
  • How to optimize stored procedures for performance, security and maintainability?


  • How to know when you should use transactions?
  • How to set an appropriate isolation level for a transaction?
  • How to execute stored procedures within a transaction?
  • How to use manual transactions?
  • How to use automatic transactions?
  • How to use transactions when accessing data on a single data store?
  • How to use transactions when accessing data on multiple data stores?
  • How to deal with transactions that may span over multiple data sources?
  • How to deal with locks in transactions?
  • How to design with long-running transactions?


  • How to design a effective SQL validation strategy?
  • Hpw to design for data integrity?
  • How to validate input parameters used for data access?
  • How to prevent SQL injection?
  • How to validate dynamic SQL using escape routines?
  • How to use XML schemas to validate input?

How to design or SQL validation failures?XML

  • How to choose the appropriate XML technology for relational database interaction?
  • How to read XML data returned after executing a SQL command?
  • How to retrieve XML data from a DataSet?
  • How to use OpenXML to perform bulk updates and inserts?
  • How to retrieve data from using bulk copy?
  • How to handle extremely large XML data sets?
  • How to use XML schemas to validate input?

Last edited Oct 15, 2008 at 9:53 PM by prashantbansode, version 6


No comments yet.