Project Description
The Thinktecture.DataObjectModel contains the base infrastructure for data classes, including data binding, change tracking and transactional behavior.

TT.DOM for Silverlight 4
Download Source Code and Samples

TT.DOM for .NET 4.0
Download Source Code (incl. documentation)
Download Samples

With the Thinktecture.DataObjectModel you can create data classes, that offers advanced data binding support, including expression-based sorting, filtering and computed columns. Beyond this, the model automatically tracks changes for the seamless interaction with middle tier services. If you work with an O/R-Mapper or POCO style classes, you can create runtime proxies, that wraps the objects and extend it with the DataObjectModel infrastructure.
At this time the library supports Silverlight, WPF and Windows Forms.

Overall the model offers the following features:
  • Data binding synchronization via INotifyPropertyChanged, IEditableObject and IBindingList
  • Client-side validation via IDataErrorInfo and dynamically added validation rules
  • View model for creating multiple views that points to a single data source via IBindingListView, IListSource and ITypedList
  • Expression-based sorting, filtering and searching (like DataView)
  • Attribute-based or programatic customizing of lists, including the ability of naming, hiding and reordering of columns
  • Dynamically created computed columns
  • Support for System.Transactions via IEnlistmentNotification
  • Unlimited undo/redo support
  • Change tracking with state management and automatically saving of original values for database concurrency
  • Merging of object lists
  • Creation of runtime proxies for wrapping objects that doesn’t inherit from DataObject

Feel free to contact me via the forum when you have questions or found a bug.
For german guys: Read my blog posts about TT.DOM

Last edited Feb 19, 2012 at 12:38 PM by JoergNeumann, version 16