【发布时间】:2013-11-17 23:54:21
【问题描述】:
我正在设计我的第一个 N 层架构。 Windows Azure 的许多细节对我来说仍然是模糊的,所以我希望得到一些解释/建议。
到目前为止,我已将架构规划如下。客户端是一个 Windows 应用商店应用程序。服务器端是 Azure 辅助角色和数据库。 Windows 应用商店应用通过服务总线队列与辅助角色通信辅助角色通过实体框架代码优先与数据库通信。
当在客户端应用程序中打开特定屏幕时(即“会话”开始时),辅助角色首先通过实体框架代码查询数据库以填充屏幕。辅助角色获取数据作为域对象,然后作为 DTO 返回到客户端应用程序。
用户在客户端应用程序中完成修改数据后,他/她单击一个按钮,将更改发送回辅助角色。这是“会话”结束的时候。那时,我需要一种方法来检查从客户端应用程序返回的修改后的数据,以确定哪些值已更改。这样做需要将更改的数据与其原始值进行比较。我的问题是:这些原始值可以/应该从哪里来?
以下两种方法中哪一种是可行和/或推荐的?
- 域对象(对象实例)一直可用,直到会话结束。这样我就不需要再次运行原始数据库查询。 Azure 中的哪些机制允许这样做?
- 或者,当会话结束时,辅助角色会重新查询数据库。
【问题讨论】:
标签: entity-framework azure n-tier-architecture