Feedback

C# - Listen effektiv in ein Datenbankfeld speichern

Veröffentlicht von am 12/30/2007
(1 Bewertungen)
Um Listen nicht über eine separate Tabelle speichern zu müssen, kann man die Werte einfach in einen String serialisieren und in einem einzelnen Datenbankfeld ablegen. Vor allem zusammen mit LINQ to SQL ergiebt sich hier eine einfache Möglichkeit, da hier die getter und setter des Properties beim Schreiben und Lesen des Werts aufgerufen werden und somit die Konvertierung von der Liste zum String und zurück einfach implementiert werden. Alternativ kann auxch eine XML-Serialisierung verwendet werden, die den Vorteil bietet, dass in dem Feld auch nach Einzelwerten gesucht werden kann.
public List<string> Sales { get; set; }
[Column(Name="Sales", DbType = "nvarchar(4000)"),, UpdateCheck=UpdateCheck.Never)]
private string SalesString
{
    get
    {
        return string.Join("|", Sales.ToArray());
    }
    set
    {
        if (value != null)
            Sales = value.Split('|').ToList();
    }
}
Abgelegt unter LINQ, Datenbank, Listen.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!