Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Dapper und "Table per Subclass"


jg72 - Do 14.07.16 11:41
Titel: Dapper und "Table per Subclass"
Hallo,

ich beschäftige mich gerade mit Dapper und habe dort folgendes Problem:

Ich habe eine (abstrakte) Hauptklasse mit mehreren abgeleiteten Klassen. Alle Eigenschaften aus der Hauptklasse werden in einer Tabelle gespeichert und die entsprechenden Eigenschaften der Unterklassen in den gleichnamigen Tabellen. Diese sind dann durch eine 1:1-Verknüpfung der Id-Spalten miteinander verbunden:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
abstract class BaseClass
{
    public Int32 Id { get; set; }
    public String Name { get; set; }
}

class Derived1 : BaseClass
{
    public String Property1 { get; set; }
}

class Derived2 : BaseClass
{
    public String Property2 { get; set; }
}


Die Datenbanktabellen "BaseClass", "Derived1" und "Derived2" bestehen dann jeder aus der Id und dann je nach dem aus den Spalten "Name", "Property1" und "Property2".

Wenn ich nun mit Dapper.Contrib versuche, ein Objekt vom Typ Derived1 oder Derived2 zu speichern bekomme ich immer den Fehler, dass in der Tabelle keine Spalte "Name" existiert.

Leider weiss ich jetzt nicht, wie ich hier weitermachen soll. Hat hier jemand eine Idee?

Viele Grüße

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt


Ralf Jansen - Do 14.07.16 11:58

Ich habe keine Dapper Erfahrung aber möglicherweise mag der Mapper abstract nicht.