0

在用 C# 编写的 WCF 服务中使用它是一个不错的选择吗?我目前正在使用 FirebirdSql,但这给我带来了太多问题。文档和支持也很糟糕。

编辑:对不起,我应该在问这个问题时更具体。我的意思是 SQLite 对于C#中的嵌入式数据库是否是一个不错的选择。MS SQL 对于这个来说是不可能的。

4

2 回答 2

3

SQLite 是适用于任何语言的绝佳平台,但是在 .NET 下我对它有一些小问题。

  1. 它是本机编译的。这破坏了 .NET 的 .NET 的 AnyCPU 实现(即,您必须明确分发 32 位和 64 位版本的应用程序,并在您的 .csproj (MSBUILD) 文件中有一些手写规则,以根据您选择的内容选择不同的依赖项.
  2. 它有一些棘手的线程问题。如果您尝试从多个地方(您的应用程序的多个实例)等使用相同的数据库,您将会遇到麻烦。这是可行的,但它基本上使用数据库/表锁定的简单形式来实现这一点,即根据您的程序,可能是一个主要问题。

总而言之,我真的很喜欢 SQLite,但如果我能找到一个不需要可再分发的 (*cough*SQL Express*cough*),我会为 .NET 应用程序使用另一个嵌入式 DBMS。到目前为止,除了Raven DB之外,我还没有找到一个,但那是一个文档 DB。

编辑:注意,Raven DB也只对开源应用程序免费。它不适合专有应用程序,除非您愿意支付许可证费用,因此在研究它时,请务必将其计入您的预算。

于 2011-05-17T21:04:35.353 回答
1

SQL Express总是运行良好

于 2011-05-17T20:54:55.877 回答