我需要创建一个应用程序
这些限制不是我自己的 - 这些是来自我的客户 - 这是一家全球性公司的分支机构,在全球公司层面有一些大的IT政策限制,他们可以不影响他们的水平(类似的东西),但他们仍然需要一个软件。
我的目的是找到 HOW ,尽管有这些限制,仍然可以为他们提供一份正常工作的软件。
因此,唯一的选择(根据我的理解)是将数据存储在网络共享中 - 在一个或多个文件中。问题是找到一种方法如何提供对这些文件的并发写访问。
到目前为止研究
SQL Server Compact allows only one connection when located on a network share
SQLite database file locked when writing, but possible concurrent reading operations
VistaDB embedded database provides row and table level locking!
如此精致的问题
哪些嵌入式数据库支持并发用户写入权限? (在这方面,VistaDB是否有替代方案?) - 请提供事实,而不是意见。
答案 0 :(得分:0)
1)唯一支持并发编辑的嵌入式数据库是VistaDB(至少我没有成功找到任何其他选项)
VistaDB official site -> take a look at Pros/Cons section! - (..)嵌入式数据库通常每次插入操作都会锁定整个数据库,我们不这样做。我们提供表级和行级锁定。
关于VistaDB的好处 - 它首先支持实体框架代码!
关于价格 - micoISVs有折扣(一年450美元+ 125美元升级)
2)如果您知道对数据库的并发写入非常罕见 - 那么您可以选择SQLite,它是一个免费的嵌入式数据库 - 因为SQLite允许并发读取,但在写入数据库时只允许一个连接。没有找到有关EF支持的任何信息。
3)如果您的用户很少,那么SQL Server Compact可能是最佳选择 - 它支持实体框架。