Se eu precisar para recuperar um objeto de um fichário de modelo personalizado deve interagem pasta com a camada de serviço, a camada de repositório, ou ...?

StackOverflow https://stackoverflow.com/questions/1119928

Pergunta

Se eu tiver uma classe semelhante a esta:

public class Person
{
    public string firstName { get; set; }
    public string lastName { get; set; }
    public Pet myPet { get; set; }
}

Quando eu criar um fichário de modelo personalizado, o post do meu formulário não será o envio de um animal de estimação, ele iria enviar dados como este: firstName: "myFirstName" lastName: "myLastName" mypet: "myPetsName"

Uma vez que o nome do animal de estimação é passado, e não o objeto real do animal de estimação, as necessidades objeto pet a ser recuperada dentro do fichário de modelo.

A minha pergunta é, se o fichário de modelo estar interagindo com a camada de serviço, a Camada de Repositório, ou deve mesmo ser recuperar o animal de estimação? O problema com a camada de serviço é que eu não parecem ter acesso a ModelState ao inicializar o serviço: ((this.ModelState) me dá um erro)

_petService = new PetService(new ModelStateWrapper(this.ModelState));

Se eu precisar o modelo de pasta para criar um objeto Pessoa, em seguida, o animal de estimação que precisam ser atribuído de alguma forma ... como vou fazer isso?

Foi útil?

Solução

O que faço é usar um modelo de visão / apresentação em vez de se ligar a objetos de negócios. Lembre-se que os usuários podem inserir valores inválidos, e você terá que re-exibir esses valores inválidos para o usuário quando levando-os a corrigir seus erros. Mas seu negócio "real" objetos provavelmente não vai aceitar valores inválidos. Assim, o modelo de visão deve permitir qualquer entrada do usuário, mesmo de entrada os objetos de negócios não vai aceitar.

Isso faz a ligação fácil. Você não precisa bater um repositório para bind, somente quando a atualização do objeto de negócios com a entrada do usuário (válido).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top