Well, if what you are asking is how you build your own OData v2 service from scratch, then the answer would depend on what language you are using. The .NET space has the best support for OData.
You can see a tutorial on building a V3 endpoint using WebAPI in .NET here: http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/odata-v3/creating-an-odata-endpoint I believe our V2 connector supports V3 endpoints now, but if not, it will soon. But the version of OData that your endpoint uses is controlled by your config so you can change that easily.
You mentioned Visual Studio, but you can also create OData producers in any language. If you would also consider using Java, look for olingo. I'm not sure it's supported anymore, but odata4j is one I have used in the past that works well.
nodejs, Ruby and PHP have some producers available as well, but they aren't as sophisticated as the Java or .NET solutions.
If you are just building a read only service (which is all Salesforce currently supports), you could also easily just build the XML and/or JSON yourself. OData is just a way to describe data and ultimately it's just a bunch of text.
You don't necessarily need to BUILD a solution though. A lot of the ETL vendors that work on integration connectors for a living have been building out OData solutions that you can purchase.