title: Creating a simple multi-user desktop application
body: <p>I'm working on a simple mark management system for a school department (let's assume it's the Maths department). They want a simple system for users to enter marks for each student as they progress, entering marks for each term, getting yearly averages, sorting by teacher, etc.</p>
  
  <p>Speaking to the person in-charge of the department, he said maybe 12 to 15 persons at a maximum will have access to the database over wired and wireless connections. I had initially felt Access should suffice, however after some research, it seems that it probably isn't the ideal choice (15 users getting close to pushing it, plus wireless connections not ideal).</p>
  
  <p>As such, I've decided to go with an Sqlite-based solution. The reason I chose Sqlite is to mitigate issues such as restarting the database software each time the server restarts and what not. Have the Sqlite reside in a central location and have the software communicate with it over a LAN connection. Hopefully it should work fine.</p>
  
  <p>I'm looking for a bit of insight as to what I should use to create the actual front-end. I'm leaning towards a C# WPF application. Whilst I've used the Professional (or is it Ultimate?) edition via DreamSpark for uni, this project isn't covered by the license so I'm going to have to make use of the Express edition.</p>
  
  <p>I was wondering what features are missing that may hinder me. The database side isn't really an issue - whilst linq or the EF are preferable, I don't Sqlite works with Linq and am not sure if the EF is in the Express edition. With that said, I don't really mind doing all the DB stuff myself if I need to, however. All I really need is a way to interface with the DB. What would be the best way to do this using VS 2010 Express? Are there free solutions I can use to make this easier?</p>
  
  <p>With WPF, what's missing? Are all (most?) of the controls available?</p>
  
  <p>Basically I'm just trying to get an idea of what restrictions will be placed upon me and what might give me trouble down the line.</p>
  
  <p>If you have any other suggestions, I'm more than happy to hear them. Also, I recall hearing that Microsoft had some program that gave beginning developers cheap or free access to the tools for a few years or something. Any idea what it was called - had no luck googling it.</p>