Business Logic Toolkit for .NET
www.bltoolkit.net
|  Home   |  Download   |  Documentation   |  Source   |  License   |

 
Business Logic Toolkit is a set of components to simplify .NET application development. BLToolkit is provided as source code that you can use "as is" or customize for your applications. It is written in C# and compatible with .NET Framework 2.0, 3.0, and 3.5.

05/21/08 Version 3.0 released
  See change log
05/10/08 New examples
  See the following link
02/12/08 Version 2.0.7 released
  See change log
07/21/07 New web demo project
  MS PetShop 4.0 powered by BLToolkit. See the dev version of the project.
07/21/07 Version 2.0.6 released
  See change log
06/05/06 How to map into internal object
   Map.MapFieldAttribute
05/17/07 Version 2.0.5 released
  See change log
02/12/07 Version 2.0.4 released
  See change log
10/22/06 Version 2.0.3 released
  See change log
08/27/06 Version 2.0.1 released
  
05/21/06 How to map one object to another
   Map.ObjectToObject
05/10/06 How to emit with BLToolkit
   Hello, World!
04/30/06 DataAccessor examples
   ExecuteList
ExecuteDictionary
ExecuteObject
ExecuteScalar
04/26/06 IDictionary support for abstract accessors
  Now abstract accessor can return an object that implemens IDictionary interface.

  RSS  
    
Aspects    CacheAspect, CounterAspect, LoggingAspect, MixinAttribute. All of these are available now in C# (well, with one little limitation).
[Counter, Log]
public abstract class MyClass
{
    [Cache]
    public virtual int MyMethod(int p1, int p2)
    {
ComponentModelObject Binder. Add Business Objects' native purity and flexibility to your ASP.NET and WinForms applications.
Data High-level, data provider independent wrapper for ADO.NET.
using (DbManager db = new DbManager())
{
    return db
        .SetCommand("SELECT * FROM Person")
        .ExecuteList<Person>();
DataAccess Data Access Layer. Got bored of writing the same data access code over and over again? Now you are saved from being just a coding machine!
public abstract class PersonAccessor : DataAccessor
{
    [SqlText(@"SELECT * FROM Person WHERE FirstName = @firstName")]
    public abstract List<Person> GetPersonListByFirstName(string @firstName);

    [SprocName("sp_GetPersonListByLastName")]
    public abstract List<Person> GetPersonListByLastName(string @lastName);
EditableObjects Set of base classes to build custom object hierarchies. The EditableObject and EditableList classes support such methods as AcceptChanges, RejectChanges, flag IsDirty, and event PropertyChanged.
public abstract class TestObject : EditableObject<TestObject>
{
    public abstract string FirstName { get; set; }
    public abstract string LastName  { get; set; }
}

...

TestObject obj = TestObject.CreateInstance();
obj.FirstName = "Tester";
obj.AcceptChanges();
MappingHigh performance object mapper will help you build your own ORM.
ReflectionThe TypeAccessor class allows to avoid slowness of Reflection and gain incredible performance of applications working with types dynamically.
Reflection.Emit The EmitHelper class - emit with a human face.
emit
    // string.Format("Hello, {0}!", toWhom)
    //
    .ldstr   ("Hello, {0}!")
    .ldarg_1
    .call    (typeof(string), "Format", typeof(string), typeof(object))

    // Console.WriteLine("Hello, World!");
    //
    .call    (typeof(Console), "WriteLine", typeof(string))
    .ret()
    ;
TypeBuilderExtensible run-time class generator.
ValidationSimple way to do a complex thing.


Google
Search WWW Search bltoolkit.net
 
© 2008 www.bltoolkit.net
support@bltoolkit.net