使用WPF应用程序的数据库功能:SQLite,SQL CE等?

时间:2020-03-05 18:54:35  来源:igfitidea点击:

我想扩展具有数据库功能的WPF应用程序。我们将建议使用哪个数据库引擎,为什么? SQLite,SQL CE,其他?

解决方案

回答

根据应用程序的使用,我建议使用SQL Lite,因为它不需要我们安装任何其他软件(SQL CE或者Express等,通常需要单独安装)。

这篇文章底部的provider链接列出了SQL Lite最重要的好处:

SQLite is a small C library that
  implements a self-contained,
  embeddable, zero-configuration SQL
  database engine. Features include:
  
  
  Zero-configuration - no setup or
  administration needed.
  Implements most of SQL92. (Features
  not supported)
  A complete database is stored in a
  single disk file.
  Database files can be freely shared
  between machines with different byte
  orders.
  Supports databases up to 2 terabytes
  (2^41 bytes) in size.
  Small code footprint: less than 30K
  lines of C code, less than 250KB
  code space (gcc on i486)
  Faster than popular client/server
  database engines for most common
  operations.
  Simple, easy to use API.
  Self-contained: no external
  dependencies.
  Sources are in the public domain.
  Use for any purpose.

由于我们使用的是WPF,因此我可以假定我们至少使用了.NET 3.0。然后,我建议使用包含LINQ的.NET 3.5 SP1(与.NET 3.5大小相同,但包括许多性能改进)。

但是,在使用SQLite时,我们需要使用以下应提供LINQ支持的SQLite提供程序:SQLite数据库引擎的开源ADO.NET提供程序

回答

我同意SQLite是必经之路。
Subsonic 2.1现在也包括SQLite支持。

回答

尽管我错过了PostgreSQL的功能,但SQLite是一个非常不错的产品。我们还可以考虑使用其他数据库,尤其是非SQL数据库,例如Berkeley DB。

/艾伦

回答

只是为了提出不同的意见,去年我们一直在使用SQL Compact Edition,并且普遍对此感到满意。该配置非常简单,其行为与常规的MS SQL数据库非常相似。缺少一些东西,例如触发器和存储过程,但是SQL 3.5 CE实际上具有我们需要的所有其他东西。要安装大约2Mb的.dll。它提供数据库加密,事务处理,并支持VS的类型化数据集设计器(3.1出现了一些问题,但是CE 3.5很棒!)。

回答

我在WPF应用程序中使用了SQL Compact Edition,我对自己的决定感到满意。一切都可以正常工作(因为WPF和SQLCE都是MS,它们可以很好地配合使用),并且运行时的安装足够小并且足够满足我的需求。我通过Visual Studio创建和修改了数据库。

回答

SQL CE DLL可以打包到我们自己的应用程序中,不需要单独安装。但是,如果我们不想了解安装程序等信息,则MS提供了默认的安装程序包。

此外,SQL CE支持私有部署。