我正在寻找一种解决方案,其中同一台机器上的多个应用程序访问同一个数据库。通常这些操作只是读取,因此我对必须提供并发写入访问也不感兴趣。
我检查了 SQL Server Express、SQL Server LocalDb、SQL CE、SQLite、MySQL,但不相信哪一个是最好的解决方案。我读到 SQL CE 允许并发读取访问,但 SQL Server LocalDb 不允许,我觉得这很奇怪,因为 MS 大肆宣传 LocalDb 是一个在功能上与 SQL Server 系列非常相似的版本,并且应该可以很容易地后来扩大规模。
我喜欢管理 5-10 个表,每个表的行数少于 5000 行,内容非常轻量级。
我正在寻找满足以下要求的解决方案:
- 同一台机器上的多个应用程序的并发读取访问
- 应该有点轻。我打算稍后将解决方案中的所有应用程序移动到另一台机器上,并且如果可能的话,我不想安装 200mb 的完整 SQL Server Ex@ress 版本。
- 应该与 VS2012 express 配合使用(sqlite 和 mysql 在这方面非常不受支持,要么不支持 EF5,要么它们没有出现在服务器资源管理器中。
- 应该是一个 SQL 解决方案,以便在 Workbench 或 Management Studio 或其他第三方应用程序等管理控制台中手动更新数据库表。
- 应该与 EF 或其他 ORM 解决方案一起使用。我希望能够创建一个实体类并从中创建一个数据库或使用类对象更新表。此外,我想从表行填充类对象集合,而无需通过 SQL 代码。
我在 .Net 4.5 中以 C# 为目标,我想这归结为 SQL CE 是否能够完成允许并发读取的任务以及我如何加载 CE 数据表并在某种管理控制台中编辑和可视化内容的问题。SQL CE 也能与 EF5 配合得很好吗?有更好的建议吗?