There are various (not many as for JAVA and others) possible ways to achieve the task. One way is to go for existing remote function calls library for establishing a connection. There are free to use wrappers written around RFC to serve the task.
Another library available for the same and mostly used is ERPConnect. It is easy to use and provides an easy mechanism to call BAPI, functions and table calls.
But the best way to go for use is web services but for that, you have to be on ERP5.0 or higher. In such case, no .NET connector is required and provides a lot of flexibility and standard features.
Also, SAP comes with a built-in Microsoft .NET Data Provider for my SAP Business Suite which is part of SQL Server 2005.
The result of the process is exposed by Ado.NET data reader interface. With this interface being exposed, the result set can be used at a lot many places either in SSIS, Reporting Services or any other framework to use the data.