none
EF Frage RRS feed

  • Frage

  • Hallo zusammen,

    mit EF stehe ich auf sehr wackligen Beinen.
    Würde / kann mir jemand sagen wieso ich mit dem Code unten keine Daten erhalte?
    Wenn ich mit dem EF Designer das ganze erstelle, kommen Daten.
    Was gerade die nächste Frage wäre.
    Zur EF-Codegenerierung  ist T4 möglich. Etwas anderes kann ich im Designer nicht auswählen.
    Gibt es eine Möglichkeit, dass ich den Code der erstellt wird, sehen kann und mit dem Debugger durchsteppen kann?
    Ähnlich wie der mit dem ADO-Designer erstellte Code.

    Gruss Peter

    Public Class Mail
      <Key> Public Property MailPK As Integer
      Public Property Receipient As String
      Public Property Subject As String
      Public Property Body As String
      Public Property Status As String
      Public Property StatusText As String
    End Class

    Public Class MailDbContext
      Inherits DbContext

      Public Sub New(connString As String)
        Me.Database.Connection.ConnectionString = connString
      End Sub
    End Class


    Imports System.Data.Entity

    Public Class Form1

      Private connString As String = "server=hostserv;database=opfMandant;user id=OPFUser;password=$ecured;Trusted_Connection=no;"

      Private db As MailDbContext
      Private Sub btnRun_Click(sender As Object, e As EventArgs) Handles btnRunPoCo.Click
        Dim s As String
        Dim i As Integer

        db = New MailDbContext(connString)

        Try

          Dim all = db.Mails.ToList   '??? kommt nichts
          i = all.Count               
        
        Catch ex As Exception
          s = ex.ToString
        End Try

      End Sub

    Mittwoch, 13. April 2016 06:08

Antworten

  • Hallo,

    ich kann auf den ersten Blick keinen Fehler erkennen. Setz mal die Erstellung der MailDbContext-Klasse mit in den Try-Catch Block rein. Ich habe die Erfahrung gemacht, dass manchmal Fehler aus dem EF heraus nicht durchgereicht werden und es so aussieht, als würde alles ohne Fehler laufen.

    • Als Antwort markiert comscape Mittwoch, 20. April 2016 09:17
    Mittwoch, 13. April 2016 07:27

Alle Antworten

  • Hallo,

    ich kann auf den ersten Blick keinen Fehler erkennen. Setz mal die Erstellung der MailDbContext-Klasse mit in den Try-Catch Block rein. Ich habe die Erfahrung gemacht, dass manchmal Fehler aus dem EF heraus nicht durchgereicht werden und es so aussieht, als würde alles ohne Fehler laufen.

    • Als Antwort markiert comscape Mittwoch, 20. April 2016 09:17
    Mittwoch, 13. April 2016 07:27
  • Hallo und Dank für die Antwort.

    Leider macht das auch keinen Unterschied.
    Ich habe mal das Key Attribut entfernt.
    Dann kommt:

    {System.Data.Entity.ModelConfiguration.ModelValidationException: Während der Modellgenerierung wurde mindestens ein Überprüfungsfehler erkannt:

    EF_Test.Mail: : Für EntityType 'Mail' ist kein Schlüssel definiert. Definieren Sie den Schlüssel für diesen EntityType.
    Mails: EntityType: EntitySet 'Mails' basiert auf dem Typ 'Mail', für den keine Schlüssel definiert sind.

    Mittwoch, 13. April 2016 08:14