Сам по себе DPE - это способ дать возможность сторонним призводителям поставлять свои DataSets в понимании RS. Имплементируем с десяток интерфейсов, упомянутых в Microsoft.ReportingServices.Interfaces и готово. Что получили? В конечном итоге получили имплементацию IDataReader, но не того, который из System.Data, a который из Microsoft.ReportingServices.DataProcessing! Обращаются с ними (к ним) очень даже похоже :
System.Data |
ReportingServices.DataProcessing |
DataTable GetSchemaTable() |
System.Type GetFieldType(int fieldIndex)
|
|
string GetName(int fieldIndex) |
|
int GetOrdinal(string fieldName) |
GetXXX() (из наследованного IDataRecord) |
GetValue(int fieldIndex)
|
RDL links to its DataSource via
DataSources tag.