ADO.NET is an extensible architecture that allows anyone, not just Microsoft, to create data providers for virtually any type of data source. This chapter covers how to create a data provider for pipe-delimited data files, which is a common file format, especially for Unix systems. This data provider plugs in to the ADO.NET architecture and provides all of the things you would expect from a data provider, including the ability to fill a DataSet and bind it to any GUI object.