About

Bueno, aqui se presenta un loco.

Informático y cristiano. Estoy empezando a asomarme al mundo sólo y por ahora recogeré aquí las impresiones más intimas.

8 responses

21 06 2007
David

Hola! Yo también soy informático y cristiano! Me lamo la atención tu blog, y desde ahora lo tendré en cuenta.

Que sepas que estoy para lo que necesites. Un abrazo en Cristo y María.

22 06 2007
Vio

Muchas gracias David, aunque sabemos que no estamos solos, siempre es una alegría saber que gente como nosotros que llegan aquí.
Mi mayor esperanza es que cada persona que lea este humilde blog, se vaya un poco más enriquecido de cuando entró.

Que la paz sea contigo.

24 06 2007
De blog en blog - Entrevista con Juan María Laó de Informático y Cristiano

[…] Tiro para que oficie nuestra boda. Un ejemplo sencillo de cómo compaginar ambas inquietudes es Juan María Laó, autor del blog Informático y […]

3 06 2008
demian

hola, te vengo siguiendo de thinkingdotnet, para poder hacerte una pregunta q nadie me sabe contestar, veo q tenes buena onda con las personas y si me podrias salvar una duda muy paba en .net con linq te lo agradeceria, este es mi mail demiantriebl@hotmail.com, desde ya, muchas gracias… a! y mi pregunta esta en esta pagina

http://thinkingindotnet.wordpress.com/2007/07/19/linq-to-sql-5%C2%AA-parte-enlazar-controles-de-interfaz-de-usuario-con-el-asplinqdatsource/

Excelente traducción, ahora tengo una consulta para cualquiera q me pueda responder, en el paso 4 yo lo hice funcionar barbaro, ahora si tengo un valor que sea “todos”, y me gustaria que ponga todos los valores, como hago? cual es la expresion que se tiene que usar?, y si no estube viendo por medio del metodo selecting del datasource con un if(listbox1.selectedValue =”todos”){ expresion linq general}. pero no anda, alguien me puede dar una mano?

2 12 2008
Walter

Hola juan

Me podrias dar una mano,
respecto a tu articulo de Noviembre en dotnetmania sobre Linq
Me da el siguiente error:

Error 11 El comando «sqlmetal /code:E:\PROYECTOS\SLC_MULT_SIFREYNET\PyS\SIFREYOPER.vb /views /sprocs /functions
/namespace:ModeloDatos /language:vb C:\Archivos de programa\Microsoft SQL Server\MSSQL.2\MSSQL\Data\SIFREYOPER.mdf» terminó con el código 123. PyS

tengo el sqlmetal e inclusive baje el programa sqlmetalbuilder que genera el
modelo pero para que la solución sea util se deberia actualizar al menos cada vez que generamos

Bueno desde ya muchas gracias

3 12 2008
Vio

Hola Walter:
Mírate este enlace: http://msdn.microsoft.com/es-es/library/bb386987.aspx
por la ruta del archivo de la base de datos que comentas, supongo que es una base de datos que está alojada en SQL Server, en ese caso debes de poner la cadena de conexión al comando SQL Metal.
Espero que te sirva.
Un saludo.

13 01 2009
Pablo Cristóbal Vergara Castro

Buenos días Juan.

Mira, soy uno de los muchos lectores de la revista «dotnetmanía» que leyeron tu interesante artículo sobre «LINQ to SQL y N-Capas (esto es amor)», y me asalta una duda que te agradecería enormemente que me respondieses: ¿Cuales son laS ventajaS de crear objetos de negocio (entidades de negocio como indicas en el artículo) por encima de las entidades que crean los dos modelos de LINQ to [SQL|Entities] de los que hablas en el artículo?.

A ver me explico, estoy planteándome seriamente si utilizar LINQ para un nuevo sistema que estamos implementando en la empresa y bueno, leí tu artículo (el sistema lo quiero plantear en capas) y me llamó mucho la atención el siguiente párrafo:
[…]
Tanto LINQ to SQL como LINQ to Entities nos generan un conjunto de entidades que nos mapean la base de datos en objetos. Esas entidades no pueden ser nunca nuestras entidades de negocio.
[…]

Y bueno… yo me pregunto ¿porqué?, ¿qué ventajaS has descubierto que suplan el inconveniente de tener que escribir código similar al que ya ha escrito el sistema (que lleva acarreado mayor número de niveles a tener en cuenta en las refactorizaciones, tener presente un sistema de navegación entre clases, etc.)?. De hecho me surge otra duda ¿porqué utilizar un sistema de entidades dual -de aquí a aquí Entitades generadas por el sistema y de aquí a aquí objetos de negocio generados por nosotros- cuando puedes elegir ó uno (todo entidades generadas por cualquiera de los modelos LINQ to * que has dicho) ó el otro (colecciones de clases que mantienen una relación 1:1 con las tablas y que ya verás como resuelves el tema de la navegación, tipos de datos, etc)?.

Un saludo.

15 01 2009
Vio

Hola Pablo:

Sobre todo muchas gracias por leerlo.
A tus preguntas, te respondo desde la experiencia que yo he tenido. Resulta que cuando he usado esas entidades en toda mi arquitectura me he encontrado con «objetos» de la base de datos viajando a lo largo y ancho de esta. LINQ to * nos arrima el modelo relacional al mundo orientado a objetos estableciendo un acoplamiento bastante fuerte a la base de datos en toda la arquitectura. Me explico, estamos usando estructuras de la base de datos en toda la arquitectura.
Ese grado de acoplamiento en toda la arquitectura es lo que he querido evitar.
El problema que me encontraba al no encapsular las entidades que generan LINQ to * es que al cambiar algo en la base de datos tenía que estar retocando en todos los niveles de la arquitectura, tanto en el acceso a datos, negocio, clientes, interfaces de comunicación …
Para evitar eso, la solución que he visto es esa, encapsularlo todo y hacer los cambios sólo en una capa que he llamado intermedia en el artículo.
Creo que lo mejor es encapsularlas y para evitar ese tipo de «inconvenientes» es mejor ser previsor.
Pero con todo lo referente a la tecnología, dependiendo de muchos factores y del problema que queramos resolver, podemos usar las que generan LINQ to * y ver si es asumible los costes de lo que te comento más arriba.
si con las entidades que te generan es suficiente para el problema que quieras resolver, adelante.

Espero haber servido de ayuda.

Deja un comentario