Si no tenés posibilidad de utilizar la entidad de manera transparente (no conozco tu caso exáctamente) podés usar un mapper com automapper, o sino hacer tu propio mapper, por ejemplo con atributos, no sé, yo trataría de evitar caer en un xml para el mapeo porque.....es un problema más, creo que si no lo vas a estar configurando no tiene mucho sentido, pero como el mail anterior es una opinión propia, hice varias mapeadores para varias cosas y siempre terminé lamentando agregar overhead de configuración, podés meter eso en una clase de última lo cambiás después, pero ( y soy conciente que estoy pesado con este tema últimamente) iría por la solución del problema actual, no futuro, a lo sumo dejaría esa lógica en algún helper para poder tocar ante un eventual cambio.
2009/5/15 GOMEZ Gabriel <[email protected]> > Leonardo, > > > > Seguro, El tema se sucita cuando vos recibís el dato (DataContract) desde > el Service y lo tenés que dirigir a la capa siguiente. ESA es la que, o > debe hacer referencia al servicio para entender el dato, o, la capa que > recibe el dato, castearlo a un dato que la capa subsiguiente reconozca. Se > entiende? > > > > Nosotros probamos generar los DataContract en una capa extra (DLL) y > hacerle referencia tanto en el WCF Service como en el Cliente, y luego tomar > el resultado del Service como un dato ya definido en la Capa extra. > Obviamente, dio error (no era tan obvio para cuando lo probamos..jaja). > > > > En fin, ese es el mayor problema, y, por ahora, habrá que castearlo a mano > salvo que alguno tenga otra idea o solución. > > > > Saludos y Gracias, > > Gabriel > > > > > > *De:* [email protected] [mailto:[email protected]] *En nombre de *Leonardo > Micheloni > *Enviado el:* viernes, 15 de mayo de 2009 14:20 > *Para:* [email protected] > *Asunto:* [puntonet] DataContracts As ValueObjects > > > > Hola Gabriel, > > Los contract no tienen por qué ser clases del servicio, son como cualquier > entidad con un atributo que indica que es un contract, a menos que eso > implique un problema o un impedimiento yo no tengo problemas en tenerlas en > mi lógica, más si ya llegan de un modo que significa algo en tu negocio, es > decir, si un Usuario que devuelve el WCF es justo lo que necesitás. Alguien > dijo que todos los problemas de software se solucionan agregando una capa, > lo que no se dice es que vas a tener los problemas de mantener esa capa. Lo > que quiero decir es que yo no agragaría otra capa porque es una "mejor > práctica" para mí la mejor de las prácticas es solucionar el problema de > negocio con la menor complicación posible. Más allá de esto, si no es el > mismo objeto podés usar un mapper automático como automapper (con lo cual te > comprás otro problema, el de configurar y aprender el FW) o hacer uno > vos.....pero como dije, es lo que yo pienso :) > > saludos, Leonardo. > > > > On 5/15/09, *GOMEZ Gabriel* <[email protected]> wrote: > > Estimados, > > > > Tengo una consulta, > > > > Estamos desarrollando una aplicación (WinApp) que se alimenta de un Service > (WCF) que le devuelve los datos como DataContracts. > > > > Dichos DataContracts (clases) me gustaría usarlos como tipos de datos (como > comunmente usamos para pasar datos entre capas) pero me obliga a hacerle > referencia al Service a cada una de las capas (proyectos) en donde necesito > consumirlos. > > > > Cuales son las “Best Practices” que se utilizan en estos casos? En un > proyecto anterior implementamos un “cast” manual (foreach para pasarlos a > clases identicas que teníamos en un DLL que utilizábamos como repositorio de > tipos de datos) pero la verdad nose si es la mejor opción. > > > > Espero sus opiniones. > > > > Gracias de Antemano y Saludos, > > Gabriel > > > > > ------------------------------ > > “AVISO LEGAL: Este correo electrónico y cualquier archivo transmitido con > él pueden contener información propiedad de Ibope Argentina S.A. y/o Monitor > de Medios Publicitarios S.A., o una de sus filiales o empresas vinculadas. > Se trata de información confidencial que puede hallarse amparada por el > secreto profesional. El acceso es restringido y el uso reservado > –únicamente- para la persona física o jurídica que figura como destinatario > del mensaje. Está prohibida su difusión y/o cesión y/o transmisión de datos > y/o el uso -total o parcial- no autorizados expresamente por el remitente > (Leyes nº 11.723; 24.766; 25.326 y concordantes). Si Ud. es el receptor pero > no figura como destinatario y tampoco es la persona autorizada de entregar > el correo electrónico al destinatario, le advertimos que ha recibido este > mensaje por error y que cualquier uso, difusión, reenvío, impresión o copia > del mismo y de sus archivos adjuntos se hallan estrictamente prohibidos. Si > Ud. no es el destinatario especificado en este mensaje ni la persona > debidamente autorizada por él, por favor contactarse inmediatamente con el > remitente, eliminando la información aquí contenida de su sistema. En ningún > caso podrá divulgarse o revelarse el contenido de este mensaje a terceros no > autorizados. Muchas gracias.” > > > > ------------------------------ > “AVISO LEGAL: Este correo electrónico y cualquier archivo transmitido con > él pueden contener información propiedad de Ibope Argentina S.A. y/o Monitor > de Medios Publicitarios S.A., o una de sus filiales o empresas vinculadas. > Se trata de información confidencial que puede hallarse amparada por el > secreto profesional. El acceso es restringido y el uso reservado > –únicamente- para la persona física o jurídica que figura como destinatario > del mensaje. Está prohibida su difusión y/o cesión y/o transmisión de datos > y/o el uso -total o parcial- no autorizados expresamente por el remitente > (Leyes nº 11.723; 24.766; 25.326 y concordantes). Si Ud. es el receptor pero > no figura como destinatario y tampoco es la persona autorizada de entregar > el correo electrónico al destinatario, le advertimos que ha recibido este > mensaje por error y que cualquier uso, difusión, reenvío, impresión o copia > del mismo y de sus archivos adjuntos se hallan estrictamente prohibidos. Si > Ud. no es el destinatario especificado en este mensaje ni la persona > debidamente autorizada por él, por favor contactarse inmediatamente con el > remitente, eliminando la información aquí contenida de su sistema. En ningún > caso podrá divulgarse o revelarse el contenido de este mensaje a terceros no > autorizados. Muchas gracias.” > >
