| Overview |
PosharpDb is a .NET stored procedure wrapper generator that reads stored procedure schema information from an application database and generates a set of static C# or VB.NET methods into different classes to wrap the chosen stored procedures, which dramatically simplifies the complexity of both parameter binding and data type binding in procedure calling code.
PosharpDb not only supports Microsoft Oracle, SQL Server, OleDb and ODBC .Net data providers, but also can be extended, through simple configuration settings, to third party .Net data providers, such as Oracle, DB2, MySQL, etc.
PosharpDb provides a variety of options to cover most of ADO.Net data access scenarios and an alternative to manage a large scale of stored procedures as well.
The option settings can be saved to file for repeating generation such that the generated data layer can be synchronized with the database whenever changes are made to stored procedures. This is especially helpful for large, complex projects to discover data-layer mismatching issues as early as possible in compiling time.
Compare with Microsoft Data Access Application Block
- Generate C# and VB.NET code to call stored procedures
- Selectively generate code in different classes.
- Support .Net data providers for SQL Server, Oracle, OLE DB and ODBC data sources .
- Extendable for other .Net providers through simple configuration settings.
- Support output procedure parameters.
- Comment text inside stored procedures can be shown up by the IntelliSense of Visual Studio.
- Support typed .Net parameters which match the procedure parameter's types.
- Support untyped .Net parameters to simplify data-entry application coding.
- Automatically handles DBNull .
- Support transactions. A procedure call can execute in the context of a transaction.
- Support typed DataSet return.
- Cover most of data access scenarios.
- Call stored procedures by using ExecuteNonQuery(), ExecuteScalar(), ExecuteReader(), or Fill() ADO.Net method.
- Return data by using (typed)DataTable, (typed)DataSet, or a single value.
- Pass database connection information through command object, connection object or connection string.
- Embed instrumentation code to monitor runtime input and output data information for debugging and troubleshooting.
- Support stored procedure grouping based on procedure functionality or programming subsystems where the procedures are to be used. Stored procedures are separated into groups and each group is generated as a class.
- Suport configuration persistence for code regeneration .
Microsoft Data Access Application Block
- Developed for SQL Server only
- Developers have to manually make procedure-parameter bindings in code .
- Cannot automatically update procedure-parameter binding source code after a procedure's prototype has been changed
- Developers may use different ADO.Net command methods to call the same one stored procedure.
PosharpDb Stored Procedure Wrapper Generator
- Support multiple data providers.
- Static procedure parameter binding which reduces runtime errors
- Source code can be regenerated for synchronization with database changes
- Stored procedures can be grouped for easy management.
- The generated code is as robust as Data Access Block