Rockford Lhotka
    CTO at Magenic
    Author, speaker, software architect
    Creator of the CSLA .NET framework

About me
Contact me


Version 3.0.4 change log


This document is the change log for version 3.0.4 of CSLA .NET.


Changes and Enhancements:


DataMapper (071207-C#/VB)

Do better type coercion, using Convert.ChangeType() and if that fails using a value converter from the property type’s TypeDescriptor. Also treat string.Empty as null if the property type is a Nullable<T>. string.Empty and null now translate to a 0 value when being converted to a primitive type. The end result is that SmartDate now converts to/from string and DateTime, and some null value issues with FormView data binding should now be resolved. Also, due to the use of IConvertible and value converters, the overall process is more extensible.


Core\BusinessBase, ReadOnlyBase (071214-VB/C#)

Fix issue where per-type rules were "reloaded" over and over in the case that no per-type rules are ever added for a type.


Security\SharedAuthorizationRules (071214-VB/C#)

Fix a thread race condition problem.


Validation\SharedValidationRules (071214-VB/C#)

Fix a thread race condition problem.


Validation\CommonRules (071218-C# only)

Fix bug in StringMinLength.


Core\BusinessBase (080124-VB/C#)

Fix data binding bug with the deletion of child objects. When a child object is deleted, it is now marked as “unbound”, so the edit level processing works properly.


Core\BusinessListBase (080221-VB/C#)

Suppress event raising during UndoChanges and then raise a single Reset event at the end of the process.


Known issues:


There is a known issue where the Visual Studio debugger will “lock up” (actually it will eventually crash due to a stack overflow) when an exception is thrown in the DataPortal_Fetch() of a subclass of ReadOnlyListBase.


The issue appears to be due to a bug in the Visual Studio debugger’s exception assistant.


The workaround is to click Tools|Options, then Debugging|General and uncheck the “Unwind the call stack on unhandled exceptions” box (You may need to check the “Show all settings” box at the bottom of the dialog to see this option).



When adding CslaDataSource to a page by choosing to “add a new data source” from within the GridView or DetailsView controls the data source control will not function properly in the designer, though it will appear on the page. (This is due to a bug in Visual Studio in terms of how it loads the control into memory, and I’ve discussed it with Microsoft.)

The workaround is to switch the designer to Source view and back after adding the new CslaDataSource control to a page. This will force the designer to reload the control, making it act properly within the designer.


As before, you can add a CslaDataSource to the page by dragging it directly from the Toolbox, or by typing in the tag manually. Both of these techniques work immediately with no known issues.



(Updated 2/21/2008 12:09:42 PM)