已答复 WCF RIA Services SEM Entity Framework

  • quinta-feira, 31 de maio de 2012 13:20
     
      Contém Código

    Olá pessoal!

    Estou desenvolvendo uma aplicação Silverlight e no momento estou utilizando WCF (não RIA) para comunicar minha aplicação com a camada de regras de negócio.

    Meu projeto está organizado da seguinte forma:

    • Projeto.Business -> Classe de regras
    • Projeto.Entities -> Entidades do negócio (não é a minha camada de persistência)
    • Projeto.Silverlight -> Aplicação cliente
    • Projeto.WCFService -> Camada de Serviços

    A camada Entities eu tenho classes simples, como por exemplo:

    public sealed class UsuarioEntity
    {
    public string USUARIO { get; set; }
    public string SENHA { get; set; }
    }

    Em minha camada Business eu realizo as operações da seguinte forma:

    public static class UsuarioBo
    {
    public static BusinessResult CheckLogin(string USUARIO, string SENHA)
    {
    BusinessResult _result = new BusinessResult();
    
    //Operações de login, validação no banco de dados que me retorna uma instância do objeto UsuarioEntity
    
    _result.ResultEntity = _objUsuarioEntity;
    _result.Sucess = true;
    
    return _result;
    }
    }

    Esse objeto BusinessResult é como se fosse um "barco" (rs...) nele eu guardo as mensagens de erro, confirmações, atenção, questionamentos que devem ser feitos para o usuário, o objeto que após aplicação das regras de negócio, seja um objeto único ou uma coleção deles...

    No WCF, eu faço da seguinte maneira:

    public BusinessResult CheckLogin(string USUARIO, string SENHA)
    {
    return UsuarioBo.CheckLogin(USUARIO, SENHA);
    }

    Só que, no silverlight, minha referência ao objeto BusinessResult fica muito estranha... todas as propriedades do objeto BusinessResult, ficam com um "k_Backfield" no final... e isso deixa o código muito feio, polui demais...

    Gostaria de saber como aplicar essa arquitetura, utilizando WCF RIA Services... Lembrando que as operações serão realizadas baseando-se nas minhas entidades do projeto Entities... E não em minhas entidades da camada de acesso a dados...

    Obrigado a todos pela atenção!

Todas as Respostas