谁负责加载数据?

gcs*_*cso 3 c# wpf mvvm

我有一个看起来像这样的构造函数签名.

public LocateEditorViewModel(
    ILocateRepository locateRepository, 
    int id, 
    IInteractionService interactionService)
{
Run Code Online (Sandbox Code Playgroud)

正如类名所示,这是我用来编辑定位的视图模型.此视图模型是从注入ILocateRepository和的工厂创建的IInteractionService.id在工厂Create(int id)函数中传递.

它是LocateEditorViewModel接收和id我希望编辑和从数据库查询它的项目的工作.或者我应该查询工厂中的给定项目并将我的int id参数替换为LocateViewModel对象?

Dan*_*rth 5

ViewModel处理Model的数据,而Model又访问数据库.ViewModel不访问数据库.
所以:是的,你应该用实际对象替换id.