none
Problema con resultado de datos erroneo

    Pregunta

  • Hola!!

    Tengo el siguiente problema:

    Yo hago una consulta mediante linq y por ejemplo de Empleado1 me tiene que devolver lo siguiente:
    Proyecto Empleado Fecha Horas
    P0001757 Empleado 1 2013-01-01 00:00:00.000 8
    P0001757 Empleado 1 2013-02-01 00:00:00.000 8
    P0001754 Empleado 1 2012-12-01 00:00:00.000 12
    CABL201200000030 Empleado 1 2012-12-01 00:00:00.000 12
    CABL201200000030 Empleado 1 2013-01-01 00:00:00.000 43
    CABL201200000005 Empleado 1 2012-12-01 00:00:00.000 1

    Y el linq me devuelve...

    Proyecto Empleado Fecha Horas
    CABL201200000030 Empleado 1 2012-12-01 00:00:00.000 12
    CABL201200000030 Empleado 1 2012-12-01 00:00:00.000 12
    CABL201200000030 Empleado 1 2012-12-01 00:00:00.000 12
    CABL201200000030 Empleado 1 2012-12-01 00:00:00.000 12
    CABL201200000030 Empleado 1 2012-12-01 00:00:00.000 12
    CABL201200000030 Empleado 1 2012-12-01 00:00:00.000 12

    Todos los registros exactamente iguales.. pero lo raro es que si yo transformo la consulta linq en un string para que me saque la sql, la copio en el management studio me devuelve los resultados bien.
    He actualizado el modelo, lo  he eliminado lo he vuelto a añadir y nada devuelve lo mismo... Lo mas extraño de todo es que no he realizado ningun cambio y antes devolvia todo bien.

    ¿Alguna solucion?

    Muchisimas gracias!!!
    martes, 18 de diciembre de 2012 11:23

Todas las respuestas

  • pero lo raro es que si yo transformo la consulta linq en un string para que me saque la sql

    no puedes saber como linq genera la query, la unica forma es usando el Sql Server Profiler y monitoreando la query que este lanza contra la db

    sino es solo adivinar

    como es el linq que generas? has probado usar el Distinct()


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    martes, 18 de diciembre de 2012 14:33
  • el linq que genero es el siguiente

    lstPlanificadoPorCategoria = (

    fromp inContexto.Planificaciones_Informes_Delineacion orderbyp.U_reffase descendingwherep.categoria == categoria & p.departamento == departamento & p.U_fechaini >= FechaInicio & p.U_fechaini <= FechaFin selectp).ToList();

    Si lo convierto a string el codigo que obtengo es algo parecido a esto... y si esto lo pongo en el management studio devuelve los resultados correctamente... Gracias!!!!!!

    SELECT [Project1].[Code] AS [Code], [Project1].[Name] AS [Name], [Project1].[U_refproy] AS [U_refproy],
     [Project1].[U_reffase] AS [U_reffase], [Project1].[U_rrhh] AS [U_rrhh], [Project1].[U_rrhhname] AS [U_rrhhname],
     [Project1].[U_dedicacion] AS [U_dedicacion], [Project1].[U_artpph] AS [U_artpph],
    [Project1].[U_fechaini] AS [U_fechaini], [Project1].[U_fechafin] AS [U_fechafin],
     [Project1].[U_linenum] AS [U_linenum], [Project1].[U_version] AS [U_version], [Project1].[U_horas] AS [U_horas],
     [Project1].[U_tipotrabajo] AS [U_tipotrabajo], [Project1].[mes] AS [mes], [Project1].[año] AS [año],
     [Project1].[categoria] AS [categoria], [Project1].[departamento] AS [departamento],
     [Project1].[teamID] AS [teamID], [Project1].[typeID] AS [typeID], [Project1].[roleID] AS [roleID]
    FROM ( SELECT [Extent1].[Code] AS [Code], [Extent1].[Name] AS [Name],[Extent1].[U_refproy] AS [U_refproy],
     [Extent1].[U_reffase] AS [U_reffase], [Extent1].[U_rrhh] AS [U_rrhh], [Extent1].[U_rrhhname] AS [U_rrhhname],
    [Extent1].[U_dedicacion] AS [U_dedicacion], [Extent1].[U_artpph] AS [U_artpph],
     [Extent1].[U_fechaini] AS [U_fechaini], [Extent1].[U_fechafin] AS [U_fechafin],
     [Extent1].[U_linenum] AS [U_linenum], [Extent1].[U_version] AS [U_version],
     [Extent1].[U_horas] AS [U_horas], [Extent1].[U_tipotrabajo] AS [U_tipotrabajo],
     [Extent1].[mes] AS [mes], [Extent1].[año] AS [año], [Extent1].[categoria] AS [categoria],
    [Extent1].[departamento] AS [departamento], [Extent1].[teamID] AS [teamID], [Extent1].[typeID] AS [typeID],
    [Extent1].[roleID] AS [roleID] FROM (SELECT   [Planificaciones_Informes_Delineacion].[Code] AS [Code],
    [Planificaciones_Informes_Delineacion].[Name] AS [Name],
     [Planificaciones_Informes_Delineacion].[U_refproy] AS [U_refproy],
    [Planificaciones_Informes_Delineacion].[U_reffase] AS [U_reffase],
    [Planificaciones_Informes_Delineacion].[U_rrhh] AS [U_rrhh],
     [Planificaciones_Informes_Delineacion].[U_rrhhname] AS [U_rrhhname],
     [Planificaciones_Informes_Delineacion].[U_dedicacion] AS [U_dedicacion],
        [Planificaciones_Informes_Delineacion].[U_artpph] AS [U_artpph],
     [Planificaciones_Informes_Delineacion].[U_fechaini] AS [U_fechaini],
    [Planificaciones_Informes_Delineacion].[U_fechafin] AS [U_fechafin],
     [Planificaciones_Informes_Delineacion].[U_linenum] AS [U_linenum],
     [Planificaciones_Informes_Delineacion].[U_version] AS [U_version],
      [Planificaciones_Informes_Delineacion].[U_horas] AS [U_horas],
      [Planificaciones_Informes_Delineacion].[U_tipotrabajo] AS [U_tipotrabajo],
      [Planificaciones_Informes_Delineacion].[mes] AS [mes],
      [Planificaciones_Informes_Delineacion].[año] AS [año],
     [Planificaciones_Informes_Delineacion].[categoria] AS [categoria],
      [Planificaciones_Informes_Delineacion].[departamento] AS [departamento],
      [Planificaciones_Informes_Delineacion].[teamID] AS [teamID],
     [Planificaciones_Informes_Delineacion].[typeID] AS [typeID],
     [Planificaciones_Informes_Delineacion].[roleID] AS [roleID]
          FROM [dbo].[Planificaciones_Informes_Delineacion] AS [Planificaciones_Informes_Delineacion]) AS [Extent1] WHERE ([Extent1].[U_rrhh] =40) AND ([Extent1].[U_fechaini] >= '01/12/2012') AND ([Extent1].[U_fechaini] <= '01/03/2013'))  AS [Project1] ORDER BY [Project1].[U_reffase] DESC

    miércoles, 19 de diciembre de 2012 9:42