好吧,从库中返回一个视图模型?

问题描述 投票:1回答:1

一直在这里一段时间,但,这是我的第一个问题@左右。

场景:网站的mvc。的ViewModels对于大多数的网页。每个视图模型包含来自不同的储存库获得的模型或iqueryables。

每个源是经常更新(从网站的独家新闻外),所以即使本地缓存它会有很多数据源锤打。

我们面临的问题是,使用一个以上的储存库中创建一个视图模型时,他们每个人的触发连接/取到数据源(如果他们需要重新填充)。

这很容易从储存库返回完整视图模型来避免。然后库可以使用单个连接(在大多数情况下,即使只有一个SQL存储过程)来获取所有需要的数据。

有人提到的ViewModels不应该在库有关。我实际上没有看到任何这方面的问题,所以我的问题是,可能是什么影响?

.net model-view-controller stored-procedures repository-pattern viewmodel
1个回答
2
投票

在MVC中有没有硬性的规定 - 你应该总是做任何适合与您的特定情况。这是不同寻常的从仓库里层的回完整的视图模型,但如果填充它是一个特别数据库密集型组动作可以简化成一个单一的存储过程,那么为什么不。

总是有潜力用于检索视图数据重复,你必须在其他地方的代码,因此矛盾DRY导致潜在的维护问题后的方法。

如果您发现检索所有你需要一个单页的数据需要到多个不同的版本库的多个调用这表明你的存储库可能没有投入足够蓝本,以满足您的需求,这可能是一个更好的地方来看待减少数量数据库连接/读取。

© www.soinside.com 2019 - 2024. All rights reserved.