我正在启动一个新的 Web 应用程序。它将托管在对 SQL Server 收取额外费用的服务上,坦率地说,我认为该站点不需要那么多数据库。现在数据模型是 5 个表。如果有史以来最大的表有 10k 条记录,我会感到惊讶。
所以我想保持数据库轻量级。SQLite最初引起了我的兴趣,因为我需要为 Android 学习它。但是缺少外键让我畏缩。当然可以实现一些看起来像外键约束但感觉不相关的东西。Firebird似乎是唯一支持 FK 的轻量级(免费)数据库。
另外,我真的很想通过这个项目在 LINQ 中涉足。到目前为止,我只发现dbLINQ可以让我将 SQLite 或 Firebird 与 LINQ 一起使用。它目前是 v0.18,所以离黄金时间还很远。我已经使用 dbLinq 对 SQLite 进行了测试,它们通过了我需要的测试。
SQLite 还有另一种 LINQ 实现,但我为它找到的所有链接都以 404 结尾。
那么对于与 LINQ 兼容的轻量级数据库,我有哪些选择?SQL Server 的任何紧凑版本都已发布,除非有一个可以 XCOPY 部署且无需安装代理/服务的版本?我不能要求主机安装新软件,因为我怀疑他们会这样做,并且我希望该应用程序具有高度便携性(就托管而言)。
到目前为止的清单:
- SQLite
- 火鸟
- SQL Server 紧凑型
- 维斯塔数据库
更新:我尝试了所有版本并在这里写下我的印象。简短版本:SQLite 胜出。它是唯一一款具有良好 GUI、无需安装空间且免费的软件。