SQLite 是 C# 的不错选择吗?

发布于 2024-11-08 05:35:51 字数 177 浏览 0 评论 0原文

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

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

Would it be a good choice for use within a WCF service written in C#? I'm currently using FirebirdSql, but that's giving me way too many problems. Documentation and support is also horrible.

edit: Sorry, I should have been more specific when asking the question. What I meant was whether or not SQLite is a good choice for an embedded database within C#. MS SQL is out of the question for this one.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蛮可爱 2024-11-15 05:35:51

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

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

我真的很喜欢 SQLite,但如果我能找到一个不需要可再发行的工具。 (*咳*SQL Express*咳*),我会使用另一种用于 .NET 应用程序的嵌入式 DBMS。迄今为止,除了 之外,我还没有找到一个。乌鸦DB 但这是一个文档 DB。

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

SQLite is a great platform for any language, however there are small concerns I've had with it under .NET.

  1. It is natively compiled. This breaks .NET's AnyCPU Implementations of .NET (i.e. you have to explicitly distribute a 32bit & 64bit version of your app, and have some hand-written rules in your .csproj (MSBUILD) file to select the different dependencies based on what you select.
  2. It has some sticky threading issues. You're going to run into trouble if you're trying to use the same DB from multiple places (multiple instances of your app) etc. It's doable, but it basically uses a simplistic form of database/table locking to achieve this, which could be a major concern based on your program.

All In all i really like SQLite, but if I could find one that didn't require a redistributable (*cough*SQL Express*cough*), I would use another embedded DBMS for .NET Apps. To date I havent found one aside from Raven DB but that's a document DB.

Edit: Note, Raven DB Is also only free for open-source applications. It's not suitable for proprietary applications unless you're willing to shell out for a licence, so when looking into it please be sure to factor it into your budget.

SQL Express 始终运行良好

SQL Express always works well

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文