C# SQLite是C的好选择吗?

C# SQLite是C的好选择吗?,c#,sqlite,firebird-embedded,C#,Sqlite,Firebird Embedded,在用C编写的WCF服务中使用它是否是一个好的选择?我目前正在使用FirebirdSql,但这给我带来了太多的问题。文档和支持也很糟糕 编辑:对不起,我问这个问题的时候应该更具体一些。我的意思是,对于C中的嵌入式数据库来说,SQLite是否是一个好的选择。MS SQL是不可能的。总是工作得很好SQLite对于任何语言来说都是一个很好的平台,但是在.NET下我对它有一些小问题 它是本机编译的。这打破了.NET的.NET的AnyCPU实现,也就是说,您必须显式分发32位和64位版本的应用程序,并且在.

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


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

总是工作得很好

SQLite对于任何语言来说都是一个很好的平台,但是在.NET下我对它有一些小问题

它是本机编译的。这打破了.NET的.NET的AnyCPU实现,也就是说,您必须显式分发32位和64位版本的应用程序,并且在.csproj MSBUILD文件中有一些手写规则,以便根据选择的内容选择不同的依赖项。 它有一些棘手的线程问题。如果您试图从多个地方使用同一个DB,多个应用实例等,您将遇到麻烦。这是可行的,但它基本上使用了一种简单的数据库/表锁定形式来实现这一点,这可能是基于您的程序的一个主要问题。 总而言之,我非常喜欢SQLite,但如果我能找到一个不需要可再发行的*cough*SQLExpress*cough*,我会为.NET应用程序使用另一个嵌入式DBMS。到目前为止,我还没有找到一个,但这是一个文档数据库


编辑:注意,Raven DB也仅对开源应用程序免费。它不适用于专有应用程序,除非您愿意为许可证掏钱,所以在研究它时,请确保将其考虑到您的预算中。

SQLite是任何语言的优秀平台,但是在.NET下我对它有一些小的顾虑

它是本机编译的。这打破了.NET的.NET的AnyCPU实现,也就是说,您必须显式分发32位和64位版本的应用程序,并且在.csproj MSBUILD文件中有一些手写规则,以便根据选择的内容选择不同的依赖项。 它有一些棘手的线程问题。如果您试图从多个地方使用同一个DB,多个应用实例等,您将遇到麻烦。这是可行的,但它基本上使用了一种简单的数据库/表锁定形式来实现这一点,这可能是基于您的程序的一个主要问题。 总而言之,我非常喜欢SQLite,但如果我能找到一个不需要可再发行的*cough*SQLExpress*cough*,我会为.NET应用程序使用另一个嵌入式DBMS。到目前为止,我还没有找到一个,但这是一个文档数据库


编辑:注意,Raven DB也仅对开源应用程序免费。它不适用于专有应用程序,除非您愿意支付许可证,因此,在调查时,请确保将其纳入您的预算。

这将需要一长串的要求才能成为一个严肃的问题。@pst:请在此处添加您的评论,而不是在问题文本中。pst的编辑真的很奇怪。稍微软化一下语言是可以的,插入讨论不是。这需要一长串的要求才能成为一个严肃的问题。@pst:请在这里添加您的评论,而不是在问题的文本中。pst的编辑也很奇怪。稍微软化一点语言是可以的,插入讨论不是。是的,但安装要求有时会使其无法接受。问题很广泛。是的,但设置要求有时不可接受。问题是广泛的。在有人说它之前,是的,你可以分发一个32位版本,因为它在64位下可以完美工作。在有人说它之前,是的,你可以分发一个32位版本,因为它在64位下可以完美工作。