Wenn Sie Dapper-dot-net verwenden, wenn Sie nach stark typisierten Ergebnissen suchen, und Ihr SQL hat nur:
select *
Wird Dapper automatisch eine Auswahl für die Spalten vornehmen, die den Feldern in Ihrem Objekt entsprechen? Ich denke, PetaPOCO macht das, aber ich stieß auf einige Probleme mit Dapper, von denen ich dachte, dass sie auf diese Diskrepanz zurückzuführen sind.
Beispiel,
conn.Query<article>("select * from Article");
Wird diese Arbeit , wenn der Article
Tabelle anderen Spalten enthält, die zum Fremd sind article
Objekt?
Ja, das ist es - ich habe das über das Wochenende versucht, sogar mit einer Abfrage, die zwei Tabellen mit einer FK-Beschränkung verbunden hat. Ich habe zwei Klassen erstellt, die nur Teile dieser zugrundeliegenden Tabellen darstellen, und diese vorhandenen Eigenschaften werden gut gefüllt, alles, was nicht in den Klassen ist, wird ignoriert. Klappt wunderbar!
Auf der anderen Seite: Wenn Sie nur ein paar Spalten benötigen - Sie sollten diese explizit in Ihrer SQL-Abfrage angeben - als allgemeine Best Practice! Kein Grund, alles auszuwählen, wenn Sie nur eine Handvoll Spalten brauchen ....