【发布时间】:2012-05-20 08:23:51
【问题描述】:
我正在重新开发一个简单的应用程序,该应用程序现在作为一个面向公众的网站存在,在我们的 DMZ 中使用 SQL Server,这是我们桌面用户的另一个 Access 前端和后端。我还必须为没有网络访问(或互联网访问)的现场工作人员本地安装访问版本。
我正在尝试从头开始开发一个可以完成所有 3 种使用场景的应用程序:
- 桌面用户连接到我们的网络
- 没有网络连接或互联网的笔记本电脑用户
- 公共网页用户
关于应用程序的一些信息。它由文件系统上的 100,000 多个 tiff 图像组成。数据库存储有关图像的元数据以及图像的相对 URL。有图像表、用户表(跟踪谁使用它和权限)和历史表(跟踪谁编辑了图像表上的内容)。该系统仅由大约 3 个将联网的人编辑,它主要是一个查找系统。
我从 winforms 和 EF 4 开始,并意识到这对于我的需求来说太过分了。所以问题是: 有没有办法支持在运行时在本地缓存数据库和文件以“使应用程序脱机”,然后在回到办公室时同步? (如果有,我希望他们从不选择该选项,安装时不会在他们的 PC 上放置一个空的 SQL 数据库,因为我可以预先在每台笔记本电脑上安装数据库,因为它们只是需要它的人)
我应该只使用 ADO.net 作为数据库并且查询非常简单吗?我能从 EF 获得什么吗?几乎没有关系,不同的业务逻辑等。唯一复杂的查询是使用 AND/OR 的字段值列表等查找文件元数据的搜索。
【问题讨论】:
-
您是在问 EF 是否是矫枉过正(在为什么情况下:您为什么这么认为?),或者您是在问如何将应用程序与服务器同步?这两个问题非常不同(后者要复杂得多!)。
-
是的,我想知道我从 EF 获得了什么?我在编写 Windows 应用程序方面还很陌生,但看起来它提供了很多功能,但不一定对这些简单的应用程序有帮助。同步可能适合另一个单独的问题,但我想知道有哪些技术/api/框架可以做到这一点?
标签: .net architecture