title: how to give outside programs access to a C# repository?
body: <p>I have been doing a lot of research over just general good architecture when it comes to WPF / MVC applications. One of the concepts I am trying to really nail down is repositories. </p>
  
  <p>If I want to write a WPF application front end for some desktop application I am working on that needs to access data from a specific database then it is fairly easy. It's just basic CRUD.</p>
  
  <p>Now I want to basically keep all data access code in one area that would be my repository. Great works fine for my WPF application to just access this one location. Now what if I want to create a MVC web version that accesses this exact same repository? Easy enough I can separate the repository into a separate namespace, reference it and have access.</p>
  
  <p>The question:</p>
  
  <p>Now lets say I am in a situation where another department who uses Java / linux servers to manage everything for its code needs access to this repository to reference data or pull data.</p>
  
  <p>Will this be an issue? Should I use a service to access the repository? If so should it be a WCF Service, or a WebApi? What if we don't do a Web based version accessing the program would a WebApi still be the route to go? COULD they reference the repository directly? What is the best method of dealing with this sort of problem? I am looking for good suggestions and not looking for any particular answer.</p>