3

我为一个使用 SQL Server 作为其数据库的客户端编写了一个相当大的 C# Winforms 应用程序。这最初是为内部使用而设计和开发的。他们决定向他们的客户授权其精简版,并在内部使用完整版。

虽然缩减版本将存储的一些数据将通过调用 Web 服务发送到我们的服务器,但大部分数据都需要存储在本地。

我的大部分数据库经验都是使用 SQL Server 安装。但是,在这种情况下,理想情况下,它应该将数据存储在本地基于文件的数据库中(无需安装和配置数据库服务器)。他们的客户不太可能有技术头脑,他们只需要一个 setup.exe 来安装软件,而且它可以正常工作。

我的大部分 .NET 代码都使用 Linq-to-Sql 与数据库进行通信。

在这种情况下,本地数据库的最佳选择是什么,这应该允许我仍然使用现有的 Linq 代码?

4

1 回答 1

6

从我的角度来看,您至少有两个选择:

两者都是数据库,您无需在目标系统上安装任何东西,只需在您的应用程序中部署一个(或多个)DLL。

数据库是基于文件的。

我有几个运行得很好的实际应用程序 VistaDB。

以下是我的优点和缺点:

专业 SQL CE:

反对 SQL CE:

  • 没有意见
  • 要部署的几个 DLL

临 VistaDB:

  • SQL Server 兼容语法
  • 视图、存储过程等
  • 100% 托管,没有非托管代码
  • 一个要部署的 DLL
  • 可由多个用户使用(锁定)
  • 似乎支持 Linq to SQL(不过我自己从未使用过)

康维斯塔数据库:

  • 花钱
  • 性能不如 Microsoft Access
  • 从网络驱动器运行时有点慢
于 2013-05-05T15:04:42.543 回答