Project Description
Persistable Data Objects for WPF is an ORM tool and application framework for developing data driven applications in Windows Presentation Framework (WPF). The code generation tool builds C# classes and SQL stored procedures that are fully LINQ queryable.

Persistable Data Objects for WPF (BETA)

This project is still in Beta. Updated source, examples and documentation are coming soon.


.NET 3.5
Microsoft SQL 2008

Feature Summary

The main features of the PDO Framework are:
  • Encapsulation of data access operations in a convenient, efficient manner.
  • Support of disconnected data operations. No explicit interaction with a database context required beyond initial configuration.
  • Integration with LINQ – instead of developing our own query language, we leverage LINQ.
  • Automatically transacted operations
  • Smooth integration with WPF (and Silverlight)
    • Implement CLR interfaces for IEditableObject, IDataErrorInfo, INotifyPropertyChanged, ICollectionChanged, etc.
  • Maintainable and debuggable – we avoid use of System.Reflection.Emit, complex configuration files and attempt to generate clear, readable code (with comments even!)
  • Generate enums direct from database
  • Validation Rules – the basics are auto-generated, and can be easily extended.
  • Paging
Here are some simple Code Samples.

What's What

The associated source repository contains two top level folders: Framework and PDOGenerator. The PDOGenerator folder contains the PDO Generator application project that generates the Persistable Data Object classes and CRUD stored procedures from your database. It also generates complete database create and data population scripts. See ...\Framework\NorthwindDataModel\Scripts\ for examples.

The PDO Framework and a couple sample applications can be found in the Framework folder.
  • NorthwindDataModel is the generated PDO data model
  • NorthwindApp is a very simple WPF app using the NorthwindDataModel
  • The PDO.App.DataExplorer is a tree view based app that can explore any PDO datamodel, given a database connection string, and the path to a PDO datamodel assembly. Check out the Settings menu.

Getting Started

Run the myNorthWindRebuild.bat file found in Framework\NorthwindDataModel\Scripts to create a (slightly modified) version of the Northwind database on your machine. Take a look into the batch files to see what arguments are needed.

You can then run either of the sample apps mentioned above, or the PDO Generator application.

There is a connection string in the App.config for NorthwindApp you may need to adjust.

Last edited Dec 9, 2009 at 3:30 PM by chuckc, version 22