为少数用户应用程序选择合适的数据库
要求:
- 小型 WinForms 客户端应用程序(C# 4.0、WinForms 或 WPF)
- 一些用户同时工作
- ,根本没有数据库服务 - 整个引擎作为客户端内的 *.DLL 应用程序
- 数据库可作为一台计算机上的共享文件夹
- 至少有简单的并发检查
- 与 nHibernate 或 EntityFramework / NET 4.0 兼容
- 备份就像从共享文件夹复制文件一样简单 - 假设没有 目前正在运行客户端
- 没有存储过程/触发器 所需的
- 数据大小 - 2 年后只有几个表和几千行
很高兴拥有:
- 用户访问权限
- 加密数据
我正在尝试选择:
- MS Access
- SqlLite
- SqlServer Compact Edition。
您能否推荐哪一种最适合这些要求?
Requirements:
- tiny WinForms client app (C# 4.0, WinForms or WPF)
- a few users working simultinausly
- no database service at all - the whole engine as *.DLLs inside client
apps - database available as shared folder on one computer
- at least simple concurrrency checks
- compatible with nHibernate or EntityFramework / NET 4.0
- backup as simple as copying files from shared folder - assuming no
running clients at the moment - no stored procedures/triggers required
- data size - a few tables and a few thousands rows after 2 years
Nice to have:
- user access rights
- encrypted data
I'm trying to choose between:
- MS Access
- SqlLite
- SqlServer Compact Edition.
Can you recommend which one should be the best for these requirements?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
SQLite 可能是一个不错的选择。它的占地面积非常小。但您也可以查看MongoDB。然而,我还没有看到对实体框架等的支持。
SQLite can be a good option for this. It hasa very small footprint. But you can also look at MongoDB as well. I am however yet to see the support for Entity Framework et al.
鉴于您的所有有限标准,几年内有限的行数,这似乎是我认为的“一次性”应用程序。最快、最简单的可能是 Access
With all your limited criteria, limited rows within a few years, it appears to be what I would consider a "disposable" application. Whatever is quickest and easiest would probably be Access
SQLite 是一个不错的选择,但您应该正确设置它。
看看这里:
SQLite 的可扩展性如何?
SQLite is a good alternative, but you should setup it correctly.
Have a look here:
How Scalable is SQLite?