Requirements:
- tiny WinForms client app (C# 4.0, WinForms or WPF)
- a few users working simultinausly
- no database service at all - the whole engine as *.DLLs inside client apps
- database available as shared folder on one computer
- at least simple concurrrency checks
- compatible with nHibernate or EntityFramework / NET 4.0
- backup as simple as copying files from shared folder - assuming no running clients at the moment
- no stored procedures/triggers required
- data size - a few tables and a few thousands rows after 2 years
Nice to have:
- user access rights
- encrypted data
I'm trying to choose between:
- MS Access
- SqlLite
- SqlServer Compact Edition.
Can you recommend which one should be the best for these requirements?