【发布时间】:2013-09-05 01:52:03
【问题描述】:
是否存在跨控制器和 ViewModel 共享数据库数据的最佳实践。 例如:我想提供的产品和类别(一种情况应该是在网站管理区域的产品编辑视图中提供类别列表),我想更新这些数据修改的情况(即在前一种情况下添加一个类别......)。 我不希望在每个控制器中都有相同的代码读取数据库(我使用的是 EF5)...
【问题讨论】:
标签: asp.net-mvc entity-framework asp.net-mvc-4
是否存在跨控制器和 ViewModel 共享数据库数据的最佳实践。 例如:我想提供的产品和类别(一种情况应该是在网站管理区域的产品编辑视图中提供类别列表),我想更新这些数据修改的情况(即在前一种情况下添加一个类别......)。 我不希望在每个控制器中都有相同的代码读取数据库(我使用的是 EF5)...
【问题讨论】:
标签: asp.net-mvc entity-framework asp.net-mvc-4
使用存储库模式来实现以下一个或多个目标:
您希望最大限度地增加可测试的代码量 自动化并隔离数据层以支持单元测试。
您从多个位置访问数据源并希望申请 集中管理、一致的访问规则和逻辑。
您希望为数据实施和集中缓存策略 来源。
您希望通过以下方式提高代码的可维护性和可读性 将业务逻辑与数据或服务访问逻辑分开。
您想使用强类型的业务实体,以便您 可以在编译时而不是在运行时识别问题。
您希望将行为与相关数据相关联。例如, 您想计算字段或强制执行复杂的关系或 实体内数据元素之间的业务规则。
您想应用域模型来简化复杂的业务逻辑。
更多信息在这里:http://msdn.microsoft.com/en-us/library/ff649690.aspx
【讨论】: