EF code FIrst Databinding mit Datagridview und ähnlichen Controls sowie Verschlüsselungsfrage

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    EF code FIrst Databinding mit Datagridview und ähnlichen Controls sowie Verschlüsselungsfrage

    Hi Leute,

    ich interessiere mich neuerdings stark für EF und habe mit Code First meine ersten Versuche erfolgreich hinter mich gebracht.
    Ich habe jedoch das Gefühl, dass dieses Thema unendlich für mich ist....

    Es scheitert schon am Winforms-Databinding!

    Im Moment habe ich:
    • über Nuget EF 6 installiert
    • mit zwei Klassen und den DBContext über SQL Express die DB erzeugt
    • ...kann die Daten über Consolen Anwendung speichern und

    Nun möchte ich mittels DGV die Tabellen bearbeiten, ich finde im Netz zwar tierisch viele Tutorials, vieles davon jedoch C# (wäre nicht schlimm, lässt sich ja übersetzen) aber das meiste passt nicht zu meinem Kontext da zu weit fortgeschritten.
    Hier mein Code (ohne speicher und laden tests, kann ich bei bedarf auch rein posten falls es ein weiterer anfänger wie ich wünscht:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Class Rechte
    2. Private _RechteID As Integer
    3. Public Property RechteId() As Integer
    4. Get
    5. Return _RechteID
    6. End Get
    7. Set(value As Integer)
    8. _RechteID = value
    9. End Set
    10. End Property
    11. Private _Recht As String
    12. Public Property Recht As String
    13. Get
    14. Return _Recht
    15. End Get
    16. Set(value As String)
    17. _Recht = value
    18. End Set
    19. End Property
    20. Private _PwInformationId As List(Of PasswordInformation)
    21. Public Property PwInformationId As List(Of PasswordInformation)
    22. Get
    23. Return _PwInformationId
    24. End Get
    25. Set(value As List(Of PasswordInformation))
    26. _PwInformationId = value
    27. End Set
    28. End Property
    29. End Class
    30. Public Class PasswordInformation
    31. Private _ID As Integer
    32. Public Property ID() As Integer
    33. Get
    34. Return _ID
    35. End Get
    36. Set(value As Integer)
    37. _ID = value
    38. End Set
    39. End Property
    40. Private _Username As String
    41. Public Property Username As String
    42. Get
    43. Return _Username
    44. End Get
    45. Set(value As String)
    46. _Username = value
    47. End Set
    48. End Property
    49. Private _password As String
    50. Public Property password As String
    51. Get
    52. Return _password
    53. End Get
    54. Set(value As String)
    55. _password = value
    56. End Set
    57. End Property
    58. Private _service As String
    59. Public Property Service As String
    60. Get
    61. Return _service
    62. End Get
    63. Set(value As String)
    64. _service = value
    65. End Set
    66. End Property
    67. End Class
    68. Public Class PwContext
    69. Inherits DbContext
    70. Private _PasswordInformation As PasswordInformation
    71. Public Property PwInformationRows() As DbSet(Of PasswordInformation)
    72. Public Property Rechte() As DbSet(Of Rechte)
    73. Public Sub New()
    74. MyBase.New("Data Source=server;Initial Catalog=EFTestDb; Integrated Security=True")
    75. End Sub
    76. End Class





    wie komme ich nun zur Winforms Databinding Thematik weiter? Danke vorab!


    EDIT: Das Ziel ist übrigens eine Passwortverwaltung im betrieblichen Einsatz die später über Accesslevel verschiedenen Usern einsicht in FIrmenpasswörter geben soll.
    Also Sekretärin darf z.B. Passwort für Amazon Account sehen nicht jedoch die der pop3 Mail Postfächer....

    Die Passwörter und der dazugehörende Service werden auf Basis dieses Tuts verschlüsselt in die SQL Expr. DB eingetragen.

    Das wäre gleich die nächste Frage: Ist das so eine sinnvolle Lösung? Kenne mich mit Kryptogedöhns noch weniger aus...
    Gruß Hannes

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „hans im glück“ ()

    Um mit BindingSources im Form-Designer arbeiten zu können, musst du im DatenFenster Datenquelle hinzufügen, Objekt-Datenquelle - deine Entity-Klassen hinzufügen.
    Dann kann man wieder Entitäten aussm Datenfenster aufs Form ziehen, und es generiert BindingSources.
    Die ticken aber nu bischen anders, zB sind die nicht mehr an eine lokale Dataset-Instanz gebunden, sondern die musste nun zum Startup an geeignete DbSets(Of T), List(Of T) oder dergleichen binden.

    Auch enthalten die BS nun nicht mehr DataRowViews (die die eiglichen DataRows wrappern), sondern tatsächlich die Entities.

    Und auch mit ComboColumns tickt das etwas anders, man geht über SelectedItem statt SelectedValue und sowas.

    Aber viel Erfahrung habich damit nicht.