none
ADO.NET Data Entity Model - Fehler bei Ausgabe RRS feed

  • Frage

  • Hallo und guten Morgen,
    ich habe ein sehr merkwürdiges Problem, wenn ich von einem SQL-View eine Ergebnismenge per Data Entity Model ausgebe.
    Es handelt sich dabei um eine Liste mit Namen und Datumsvermerken (von, bis).

    Wird der View direkt am SQL-Server gestartet, so passt alles. Sobald jedoch die Abfrage über das Data Entity Model erfolgt, dann wird bei mehrfachen Vorkommen bei einer Person zwar schon die Menge der Datensätze ausgegeben, allerdings wird dabei immer das gleiche Datum der ersten Datensatzes ausgegeben. Es sieht also aus, wie lauter Duplikate.
    Hier das Codebeispiel:
    Der Abruf:

        Dim ABSENTLIST As New List(Of SWORLD_vw_ABWESENHEIT)
        Using db As New dbServiceweltEntities
            ABSENTLIST = (From L In db.vw_ABWESENHEIT
                          Order By L.Nachname, L.Vorname, L.Von
                          Select L).ToList
        End Using
    
    ...die Ausgabe:

    For Each item In ABSENTLIST

    @<tr> <td>@item.Nachname, @item.Vorname </td> <td>@item.KURZ</td> <td>@item.Von.Value.ToShortDateString</td> <td>@item.Bis.Value.ToShortDateString</td> <td>@item.GRUND</td> <td>@item.REISE</td> </tr> Next

    Wenn ich die ganze Geschichte mit dieser Methode abrufe, dann passt alles:

        Public Function fnGetAbwesenheitsliste() As List(Of ABWESENHEIT)
            Dim RetVal As New List(Of ABWESENHEIT)
            Using cnn As New SqlConnection(ConfigurationManager.ConnectionStrings("dbSWorldCnn").ConnectionString)
                Using cmd As New SqlCommand("", cnn)
                    Dim sql As String = "SELECT * FROM vw_ABWESENHEIT ORDER BY NACHNAME, VORNAME, VON"
                    cnn.Open()
                    cmd.CommandText = sql
                    Using dr As SqlDataReader = cmd.ExecuteReader
                        If dr.HasRows Then
                            Do While dr.Read
                                Dim L As New ABWESENHEIT
                                With dr
                                    L.GRUND = .Item("GRUND")
                                    L.KURZ = .Item("KURZ")
                                    L.NACHNAME = .Item("NACHNAME")
                                    L.PERSNR = .Item("PERSNR")
                                    L.REISE = .Item("REISE")
                                    L.TXT_BIS = .Item("TXT_BIS")
                                    L.TXT_VON = .Item("TXT_VON")
                                    L.VORNAME = .Item("VORNAME")
                                    RetVal.Add(L)
                                End With
                            Loop
                        End If
                    End Using
                End Using
            End Using
    
            Return RetVal.ToList
        End Function
    

    Kann mir evtl. jemand sagen, an was das liegen kann?

    Vielen Dank.


    Viele Grüße, Volker

    Dienstag, 25. Juni 2019 06:24