A Business Object Framework for .NET/C#
Instead of attempting to reinvent yet another data access layer, this framework focuses on leveraging NHibernate 2.1 to provide useful ASP.NET focused functionality.
Some of the specific areas of interest are:
- Databinding, handling lazy properties
- Error handling
- Implementing common interfaces and events
- ICloneable, IEditableObject, IDataErrorInfo, INotifyPropertyChanged, INotifyPropertyChanging, NHibernate.Classic.IValidatable
- Providing additional events: OnDeleting, OnDeleted, OnSaving, OnSaved
- Validation
- Object state tracking
- Membership providers (Database agnostic)
- ICriteria Lambda Extensions
- Class & Mapping file code generation (to kick start projects from existing schemas)
Examples of usage
System.BusinessObjects.Framework
System.BusinessObjects.Expressions
- See LambdaExtensions
System.BusinessObjects.Membership
- See SampleMembershipConfig for an example in how to add it to a project
An older version of the code also exists (in the legacy branch) which is compatible with NHibernate 1.2.1GA.