Serialisierte Objekte in einer SQL-Server DB abspeichern



  • Hallo,

    ich habe folgenden Klasse und moechte die in einer SQL-Server DB abspeichern um sie spaeter wiederherstellen zu koennen. Kennt sich damit jemand vieleicht aus ?

    [Serializable()]  
      public class Session
      {
        private int ID;
        private bool Valid;
        private Permission permissions;
    
       public Session(int ID, bool Valid, Permission per)
       {
         this.ID = ID;
         this.Valid = Valid;
         this.permissions = per;
       }
      }
    
    public static void Main()
    {
      ...
      Session sess = new Session(1000, true, permis);
    
      // Dieses obj soll nun in die DB rein
    }
    

    Waere fuer jegliche Hilfe dankbar.



  • Je nach Serializierungsart verwendest du ein BLOB oder ein NTEXT Feld in der Datenbank. Ab den Sql Server 2005 ist es auch Möglich eine vom XmlSerializer erstellte XML-Struktur in ein spezielles XML Datenbankfeld zu speichern.

    Grundsätlich rate ich aber davon ab zu serializieren, sondern eher eine Tabelle zugenerieren und die einzelnen Properies|Felder als Datenbankfelder zuspeichern. Somit hast du auch später die Möglichkeit deine Daten auf der DB zudurchsuchen und auch Auswertungen zufahren.



  • Danke,

    aber was ist denn genau der Datentyp BLOB meinst du image oder byte ?

    Hast Du vieleicht ein kleines Codebeispiel für mich parat ?

    Also Du meinst eher eine DataTable zu generieren und die dann mit den Werten der Klasse füllen. Danach das ganze mit Update zu aktuallisieren richtig ?


Anmelden zum Antworten