August 2008 - Artículos
Con un proyecto donde estoy probando Entity Framework, para ir mas alla de lo simple a lo que estamos acostumbrados y tambien para poder testear esta tecnologia, llego el momento del mapeo a mis procedimientos almacenados.
Aclaracion: Todavía tengo el SP1 Beta del VS2008… (porque según el ADO.NET Team esta issue se debera solucionar en futuras versiones)
Problema
Estaba probando el Mapeo a Procedimientos Almacenados de una entidad de mi DataModel
La logica diria… en este ejemplo sencillo que tendria que funcionar
Pero dos errores afloraron
Error:
Error 2048: The EntitySet 'Pacientes' includes function mappings for AssociationSet 'FK_Pacientes_EstadoCivil', but none exists in element 'DeleteFunction' for type '{Proyecto}.{Entidad}'. AssociationSets must be consistently mapped for all operations.
El problema:
AssociationSets must be consistently mapped for all operations.
Es decir el conjunto de asociaciones debe ser “CONSISTENTE” en todas las operaciones (Insert/Update/Delete).
Solucion
Tenemos que mantener estas relaciones hasta en el delete.
O sea que en mi querida prueba simple el PA
ALTER PROCEDURE Pacientes_Eliminar
@PacienteId int
AS
BEGIN
DELETE [Pacientes]
WHERE PacienteId = @PacienteId
END
Quedo de esta manera
ALTER PROCEDURE Pacientes_Eliminar
@PacienteId int,
@TipoDocumentoId tinyint,
@EstadoCivilId tinyint
AS
BEGIN
DELETE [Pacientes]
WHERE PacienteId = @PacienteId
END
Con el unico objetivo de MAPEAR
Para eso actualizamos el modelo… un Refresh (casi desde cualquier menu contextual de nuestro modelo)
luego…
Mapeando…
NOTA 1:
(from ADO.NET Team)…We hope to provide a solution for this issue in future versions of the Entity Framework, but for now, this is what needs to be done for associations whose target multiplicity, with respect to the type being mapped, is 1 or 0..1. In other words, the “reference” end of the association needs to be mapped to the keys of the target type.
NOTA 2:
Me canse de configurar todo esto… quisiera algo que se configure “automaticamente” :)
Enlaces
Comparto lo que recibi en el Newsletter de Microsoft Press… un codigo para descagar el e-book (pero ya lo utilice asi que no funciona mas, si quieres descargar el libro deberias suscribirte al newsletter)
Para descargar mi codigo de acceso “era” (tiempo pasado!): 7234-N4E8-4995 (Pero ya no puede utilizar para todos…) Asi que los invito a suscrbirse el que lo quiere descargar a Newsletter de Microsoft Press
Instrucciones de la descarga:
- Ir a http://www.microsoft.com/learning/access
- Ingresar el codigo de acceso. (case sensitive.)
- Ingresar con tu cuenta Windows Live ID
- Luego desde la pagina de “Gracias…” hacer click para ir a “My learning”
- Alli en la Seccion E-Reference tedras acceso a algo asi
Lo cual descargar cada capitulo por separado no me agrado mucho! :(
Para incribirse al newsletter click aqui
Estabamos creando un nuevo proyecto en el TFS 2008 y nos aparece el siguiente mensaje:
TF30177: Team Project Creation Failed
Error: Unable to connect to Windows SharePoint Services at {servidor}
Luego de leer el log, el error se produce aqui…
Lo que sigue del log…
Event Description: TF30207: Initialization for plugin "Microsoft.ProjectCreationWizard.Portal" failed
Exception Type: Microsoft.TeamFoundation.Client.PcwException
Exception Message: Unable to connect to the Windows SharePoint Services at {nombreServidor}
Exception Details: The Project Creation Wizard was not able to connect to the Windows SharePoint Services at {nombreServidor}. The reason for the failed connection cannot be determined at this time. Because the connection failed, the wizard was not able to complete creating the Windows SharePoint Services site.
Stack Trace:
en Microsoft.VisualStudio.TeamFoundation.WssSiteCreator.CheckPermissions(ProjectCreationContext ctxt)
en Microsoft.VisualStudio.TeamFoundation.WssSiteCreator.Initialize(ProjectCreationContext context)
en Microsoft.VisualStudio.TeamFoundation.EngineStarter.InitializePlugins(MsfTemplate template, PcwPluginCollection pluginCollection)
-- Inner Exception --
Exception Type: System.Net.WebException
Exception Message: No es posible conectar con el servidor remoto
WebException: Status : ConnectFailure
Stack Trace:
en System.Net.HttpWebRequest.GetRequestStream()
en System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
en Microsoft.TeamFoundation.Proxy.Portal.Admin.GetLanguages()
en Microsoft.VisualStudio.TeamFoundation.WssSiteCreator.CheckPermissions(ProjectCreationContext ctxt)
-- end Inner Exception --
-- Inner Exception --
Exception Type: System.Net.Sockets.SocketException
Exception Message: No se puede establecer una conexión ya que el equipo de destino denegó expresamente dicha conexión 192.168.2.2:17012
Stack Trace:
en System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
en System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
en System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
-- end Inner Exception --
--- end Exception entry ---
Entonces que paso? Si todo esta funcionando bien? (como siempre je!)
No voy a delatar a quien “reinstalo el SharePoint” por un problema que tenian, y no aviso. Y al volver a instalar el puerto cambio.
Aqui tenemos dos alternativas (que encontre) o cambiar el puerto del SharePoint o cambiar la URL del SharePoint asociado a nuestro TFS
Yo quise cambiar el TFS.
Para ver la configuración hacemos uso de la herramienta TFSAdminUtil, se encuentra por aqui
c:\Archivos de programa\Microsoft Visual Studio 2008 Team Foundation Server\Tools
Pasos a seguir
- Ver configuracion actual del TFS (comando ConfigureConnections)
tfsadminutil configureconnections /view
Resultado:
Aqui podremos ver la seccion que nos interesa: SharepointAdminUri (Especifica el URI del sitio administrativo de SharePoint)
- Cambiar la configuración de SharepointAdminUri
Luego tendremos que cambiar el sitio “viejo/antiguo” por el nuevo en mi caso cambia el puerto
tfsadminutil configureconnections /SharepointAdminUri:http://{server}:{puerto}
Resultado:
Modificamos la dirección de administracion del SharePoint
- Verificar nuevamente la configuración
tfsadminutil configureconnections /view
Enlaces
No todo es programación ;) Me acaban de preguntar donde se encuentra el comando “contar palabras” en el Word 2007. De primera no conocia en que solapa/tab se encontraba pero lo encontre rapidamente gracias a una herramienta que tengo instalada que les pueda ser muy util: “Search Command for Word 2007”.
¿Donde esta un comando? Antes se encontraba mejor todo :( Son algunas frases que escucho en los nuevos usuarios (lease mi hermana, mi novia..mm todas mujeres??, y en algunos amigos ;) ...)
Estabamos acostumbrados a la interfaz de Word 2003, asi que el cambio en los usuarios “hogareños” puede ser “un abismo”, para tratar de solventarlo podemos guiarnos con:
Que con la interfaz de usuario de Word 2003 nos va informando donde esta actualmente lo que necesitamos.
Pero tenemos una ayuda… desde Office Labs
El Proyecto: Search Command, que nos ayuda a encontrar comandos/acciones, opciones, wizard/ayudantes y galerias en Microsoft Office 2007 (también en Excel y PowerPoint)
Por ahora solo en ingles (pero seguro si esto es bueno en futuras versiones lo veamos dentro del programa)
Luego de la instalacion lo tenemos a la mano (cerca… muy cerca!)
Ejemplo: Word Count (“Contar Palabras”)
Tomemos un ejemplo basico, busquemos: Count
Para contar palabras...vemos que la ubicación:
(Tab Revisar | Revision | Contar Palabras)
Directamente lo podremos utilizar allli al comando/acción haciendo click sobre el mismo, o ver su ubicacion (location) en el Tooltip
Si vamos a la guia interactiva (que antes mencione) nos da la referencia… pero siempre es mejor buscar y no estar “aprendiendo todo de una vez” :)
Ejemplo 2 : Show Table Gridlines (Ver lineas de division/Ocultar lineas de division)
Como esta en ingles… para el usuario “hogareño” no creo que sea facil recordar como seria el comando en ingles… (esperemos a su version .es)
Para el que no recuerda:
Video (rapeado jeje): How to use Search Commands (from Office Labs)
(ver en ventana nueva)
Enlaces
Como soy actualmente un usuario de Windows Vista, y algunos de mis amigos de la vida estan utilizandolo (donde tenemos un ensalada de: psicologo, profesor de educacion fisica, diseñadores graficos, licenciado en educacion, tecnico en publicidad… pero todos tiene su parte informatica y estan con sus computadoras con Vista) … y la pregunta eterna… de como OPTIMIZAR.
Hoy di con un documento para este tipo de tareas por aqui:
Lo bueno es que no es “muy tecnico” :)
El PDF esta en ingles.
NOTA: Toma como base Windows Vista SP1
Windows TechCenter Springboard, para los curiosos
http://www.microsoft.com/springboard
Que ya lo habia comentado:
La mitad me dira… y el ingles? (por ahi hay todavia personas asi) calma… solo hay que cambiar el idioma en la barra superior
http://technet.microsoft.com/es-es/windows/bb905048.aspx?wt.svl=leftnav
