Q:

Onde fazer a conexão com o banco de dados?

No padrão MVVM onde devo fazer a conexão com o banco de dados, no View, no Model ou no ViewModel?

A:

Quando você usa o padrão MVVM, um aplicativo é dividido nas seguintes camadas:

Camada Model

A camada model inclui todo o código que implementa a lógica central do aplicativo e define os tipos necessários para modelar o domínio do aplicativo. Essa camada é completamente independente das camadas view e view model.

Camada View

A camada view define a interface do usuário usando a marcação declarativa. A marcação de vinculação de dados define a conexão entre os componentes específicos da interface do usuário e vários membros de view model (e, às vezes, de model).

Camada ViewModel

A camada view model fornece destinos de vinculação de dados para a camada view. Em muitos casos, view model expõe a camada model diretamente ou fornece membros que encapsulam membros específicos da camada model. A camada view model também pode definir membros para controlar os dados que sejam relevantes à interface do usuário, mas não à camada model, como a ordem de exibição de uma lista de itens

Logo a coisas relacionadas a base de dados deve ficar na camada Model.
Fonte.

