WPF DataGrid für neue Zeile Guid in SQL Datenbank anlegen

  • WPF

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Mark aus P.

    WPF DataGrid für neue Zeile Guid in SQL Datenbank anlegen

    Hallo Zusammen,
    ich bin neu im WPF programmieren und benötige mal wieder einen Tipp. Letzte mal hat mir derErfinderdesRads gute Tipps gegeben.

    Ich habe eine SQL Tabelle an ein DataGrid gebunden zeige aber die Guid nicht mit an.
    Jetzt möchte ich direkt in dem Grid neue Zeilen anlegen lassen.
    Nun meine FRage:
    Wie kann ich die GuID der SQL Datenbank-Tabelle vor dem CurrentContext.savechange() "reinfummeln".

    Vielen Dank
    Gruß Mark
    Also nochmal. Du hast ne Datenbank welche du über ADO.NET nutzt. Sprich du lässt dir Code generiern. Diese EntityObjects Bindest du nun an einen Dategrid, zeigst jedoch die GUID's nicht an(nehme an ID) und möchtest aber, dass es beim Anlegen eines neuen Datensatzes trotzdem einen GUID generiert oder?

    Ist schon lange her, dass ich mal ADO.NET benutzt habe. Was ist wenn du den DefaultKonstruktor überschreibst und dort immer einen GUID erstellst. (also wenn du Personen hast musst du halt bei Person einen ctor erstellen und dort dann den GUID erstellen)
    Was ich aber selbst nicht weiß ist, wie es sich verhält, wenn du den Code generieren lässt, ob er dann nicht den ctor wieder weglöscht.

    Was du natürlich auch kannst ist:
    Du hast von mir aus einen Command SaveCommand welcher dann CurrentContext.SaveChanges aufruft. Da müsstest du halt bevor SaveChanges aufgerufen wird alle "Personen" durchgehen und jeder einen GUID geben. Das wäre meiner Meinung nach die beste Lösung.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Hallo thefiloe,
    ich habe mit Entity Framework ein Model meiner SQL Datenbank erstellt.
    Das Model binde ich an das Grid. Das geht sehr einfach und Änderungen im Grid kann ich über meine
    Context Class einfach mit .savechange speichern. Nur ein neuer Datensatz bereichtet mir das Problem das ich die ID natürlich nicht selbst generierte werden kann, ich aber nicht weiß wie ich diese in den Datacontext beschreiben kann.
    Sorry, wenn ich mich unverständlich ausdrücke. (mir sind leider nicht alle Fachbegriffe bekannt)
    Und was ist ein ctor?
    Gruß
    Ein ctor ist die Kurzform für Konstruktor (Schreibfaule verwenden das gern :D).
    Also das Problem tritt wann auf? Beim Speichern oder beim Anlegen eines neuen Datensatzes?
    Wenn es das erste ist, müsstest du ja eigentlich vor dem Speicher alle GUID's richtig anlegen können. Wenn es das Erste ist wird das etwas komplizierter.
    Edit hab mal bisschen gegoogelt. Ab .net 4.5 gibts sowas: msdn.microsoft.com/en-us/libra…dattribute(v=vs.110).aspx.
    Heißt z.B. sowas:

    Quellcode

    1. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]

    bzw. wenn ich mich nicht irre war das in VB sowas

    VB.NET-Quellcode

    1. <DatabaseGenerated(DatabaseGeneratedOption.Identity)>


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    Irgendwann musst du CurrentContext.SaveChanges aufrufen. Ansonsten ist das Zeug nicht in der Datenbank.
    Und bevor du das aufrufst musst du halt die GUID's anlegen. Sprich jeden Datensatz durchgehen und die GUID anlegen.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.