SQLite是C#的不错选择?

时间:2011-05-17 20:51:33

标签: c# sqlite firebird-embedded

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

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

2 个答案:

答案 0 :(得分:3)

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

  1. 本机编译。这破坏了.NET的.NET的AnyCPU实现(即你必须明确分发你的应用程序的32位和64位版本,并在.csproj(MSBUILD)文件中有一些手写规则,以根据你的内容选择不同的依赖项选择。
  2. 它有一些棘手的线程问题。如果您尝试从多个地方(应用程序的多个实例)等使用相同的数据库,那么您将遇到麻烦。这是可行的,但它基本上使用简单形式的数据库/表锁定来实现这一目标,根据您的计划,这可能是一个主要问题。
  3. 总而言之,我非常喜欢SQLite,但如果我能找到一个不需要可再发行的(* cough * SQL Express * cough *),我会使用另一个嵌入式DBMS for .NET Apps。到目前为止,除了Raven DB之外我还没找到一个,但这是一个文档DB。

    编辑:注意, Raven DB 也只对开源应用程序免费。除非您愿意购买许可证,否则它不适合专有应用程序,因此在查看时请务必将其纳入预算。

答案 1 :(得分:1)

SQL Express始终运作良好