Dapper Model Mapping

.net c# dapper data-mapping

Frage

Ich habe mit Dapper gespielt und ich habe eine Frage. Gibt es eine Möglichkeit für mich, eine Enumerator-Typ-Eigenschaft in meiner POCO-Klasse zu haben und Dapper zu verwenden? Scheint wie jedes Mal, wenn ich eine Eigenschaft vom Typ Enumerator hinzufügen, bekomme ich die folgende Ausnahme:

System.NotSupportedException: Der Typ: * my_enum_type * wird von dapper nicht unterstützt

Fehle ich hier etwas? Gibt es ein Attribut, das ich an diese Eigenschaften anhängen kann, um anzugeben, welche von ihnen auf Datenbanktabellenspalten abgebildet werden?

Beliebte Antwort

Dies ist ein alter Fehler in Dapper, stellen Sie sicher, dass Sie die neueste Version verwenden. Dapper hat für die Eigenschaften der Eingabetypen keine Filterung durchgeführt.

Ok, ich habe das herausgefunden und es war meine Schuld, dass ich das hier nicht gesehen habe. Das habe ich anfangs gemacht:

Dim result = conn.Query("SELECT * FROM Users WHERE UserID = @UserID", New User With {.UserID = userID})

Aber was getan werden musste, ist:

Dim result = conn.Query("SELECT * FROM Users WHERE UserID = @UserID", New With {.UserID = userID})

Mit anderen Worten, param als anonymen Typ zu deklarieren ist essentiell. Wenn Sie param als einen bestimmten Typ deklarieren und dieser Typ eine Eigenschaft eines Typs enthält, die nicht durch einen Dapper-Code abgedeckt ist (z. B. Enum), stürzt der Code mit dem oben genannten Fehler ab. Meine Benutzerklasse hatte eine Enum type Eigenschaft und verursachte das Problem.



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum