Windows Forms application with a shared database


New member
Jun 29, 2017
Programming Experience
I am pretty much new in C# programming and desktop applications development. Still, I have a deep understanding of OOP concepts, patterns etc., because I come from other languages/platforms. What I am interested in, are some guidelines / best practices... I am about to to make an app that will allow different users to preform operations over a shared database. Let me summarize what I think it is important to be mentioned:
1. app should have a shared database (MySQL or PostgreSQL)
2. multiple users, connected through the LAN with a server, should be able preform CRUD operations, safely, on the database at the same time.
3. there will be like 3-5 users that might potentially use a database at the same time.
Here are some questions that bothers me at the moment:
1. Is Entity Framework a good choice in this case?
2. Do I need to implement any kind of table locks (or to use transactions) when multiple users perform CRUD operations over a database? I have no experience about this in C#, so fill me with terms, concepts and best practices :)
3. Let's say that user A searches a database, and get a list of results (list of records). And lets say that any of those records can be deleted one by one by any user. Now say that user B did the same, got the list, and have deleted one record, which is actually part of a result that user A have on his monitor. So the question is, how do you solve this in desktop apps? Eg. how server notifies apps that something has been changed in meanwhile by another user? Hope this make sense.
Any insights, hints etc. about how would you go to implement an app like this would be appreciated...


C# Forum Moderator
Staff member
Apr 23, 2011
Sydney, Australia
Programming Experience
Top Bottom