DataSourceProvider is a convenience wrapper around an existing data model; it does not replace any data model. A data provider does not attempt to condense the complexity and versatility of a data model such as ADO into one single object with a few properties.
DataSourceProvider is an abstract class. Use one of the derived classes, which are XmlDataProvider and ObjectDataProvider. The DataSourceProvider is aware of the Windows Presentation Foundation (WPF) threading and dispatcher model. It assumes the thread at creation time to be the UI thread. Events will get marshaled from a worker thread to the UI thread of the application.