哪个数据库管理系统适用于本地(离线)小软件?

时间:2016-10-19 01:41:01

标签: c# sql database entity-framework

我花了几天时间为我的项目实现和测试一些基于SQL的数据库管理系统。它是一个小型的本地商店管理系统,应该出售给许多用户和店主。它将是业主和店员的离线系统,因此我们需要保护数据库免受不必要的访问。我需要一个SQL数据库管理系统,可以使用 .NET Winform(C#) EntityFramework 轻松构建安装程序包。这些是我们尝试过的:

  • SQL server Express 2012:免费的SQL数据库适用于.NET和Entity Framework,但很难为用户构建一个完美的安装程序,而无需他们在他们的计算机上手动安装SQL Server System,而且没有&# 39;保护数据库免受不必要的访问
  • Localdb:可移植,免费,适用于.NET和EF,易于部署,非常可靠但又不安全
  • SQL Compact Edition:几乎与Localdb相同,它有自己的数据库密码加密功能,但已被弃用,不够稳定,并且不能很好地与EF配合使用。 SQLite:就像SQL Compact版本一样。
  • SQL server 2016开发人员版:与SQL Server Express相同,加上数据库加密(TDE),但我还没有弄清楚如何制作一个好的安装程序。

有很多像这样的软件,他们是如何解决这些问题的呢?

1 个答案:

答案 0 :(得分:2)

看起来SQLite将适合您的账单。实体框架确实有一个SQLite提供者,数据库本身不需要设置服务器软件或其他基础设施,它实际上只是一个文件。

如果你真的想让它变得安全,你可以加密整个数据库,但这需要一定的内存和CPU要求。如果加密单个字段,则架构和各个字段将可见。使用这样的设置可能很难使用外键。