in this channel
"Some frameworks are published in source code form. I recently reviewed one such product, called
B1Framework. … I happen to know this code was borne of projects
at very demanding financial services clients here in New York. …
B1F's platform-neutral data access component is flexible, robust, well-written and extensively commented.
The strength of the data access layer lies in its ability to provide reusable multithreaded services on any
platform. For example, its paging service generates SQL statements that return just the desired page of interest
from what could otherwise be a very large result set."
by Andrew Brust
"The Hand-Coding Vs. Automation Tug-of-War",
Visual Studio Magazine
To download B1Framework (and subscribe if you haven't already)
B1Framework, v. 1.15
Cutting edge tools for database application development
Essential Software Library,
From: Base One International Corp
B1Framework (B1F) is a collection of reusable .NET components for building web, back office, and desktop
database applications. The common data access layer and other core parts of B1F make it easier to write high
performance, database-agnostic programs, and they provide a solid foundation for developing scalable commercial
services. Based on Microsoft .NET Framework 4.0 and Enterprise Library 5.0 Application Blocks,
B1Framework adds indispensable components for database access, logging, validation, caching, exception management,
Data Access Layer
- The database access component presents a vendor neutral interface for
building and executing commands in the .NET framework. It Illustrates how to use Enterprise Library's Data Access Application Blocks in a
database independent way with SQL Server, Oracle, and DB2 databases.
- B1Framework's DataAccess namespace includes the standard functions for building and executing database
commands, and discovering or caching parameters; but it also has classes for building compound SQL statements
that handle automatic parameter creation, enabling multiple commands to be transmitted in a single database
- Compound commands can include calls to stored procedures and parameterized dynamic SQL, and
they can include nested transactions, reducing the need to hold resources between calls to the database.
- Dynamic SQL and an in-memory cached database catalog add powerful capabilities for automatically
generating Select, Insert, Delete, Merge commands that work against different databases. B1Framework interfaces
make it easier to write high performance, multithreaded applications.
- The B1F Data Access layer includes a custom LINQ provider that uses .NET expression trees for
efficient processing of complex joins, with C# compile-time error checking.
- The Paging class is a highly scalable means of querying and scrolling though extremely large result
sets efficiently, without locking resources or resorting to full table scans and sorts. This class includes
an interface that works directly with Entity Framework objects.
- B1Framework has a database setup utility for executing scripts to set up a new database or alter an
existing one. It employs back-end specific command line tools that work with special DDL syntaxes
and allow all types of objects to be created.
- Includes examples showing how to use B1Framework to perform multi-threaded, concurrent
database operations across different back-end databases with a common code base.
- The Configuration component has classes for accessing the application settings, as well as
supporting a concept of runtime replacement configuration parameters.
- Ability to log messages to multiple concurrent destinations
(such as Windows Event Log, database, memory file)
- Can be used with or without the configuration manager allowing
for both configurable and programmatic setup
- Support for the following targets:
- Windows Event Logger
- MSMQ Logger
- Memory File logger
- Standard file logging
- High performance Trace Logging (with a TraceViewer
- Hashing using MD5, SHA1, SHA256, SHA384, SHA512
- Symmetric encryption using DES, RC2, Rijndael, TripleDES
- Asymmetric encryption using RSA & DSA
- Digital envelope using asymmetric RSA for enveloping,
symmetric AES for encryption
- Digital signature using asymmetric RSA and DSA
- Signing XML class using RSA
- XML packaging using RSA for enveloping and signing, AES for
encypting and SHA1 for hashing
- Encrypted string with expiration timings
To learn more, download the B1Framework Help documentation:
click here (4.6 MB).
This file is in Microsoft .CHM (compiled help) format. To view: download and unzip it, and
in its Properties, press "Unblock" button if blocked.