Ich habe darüber nachgedacht, dapper
, aber ich mag immer noch nicht die Idee, Inline-SQL zu verwenden. Gibt es irgendwelche Gedanken über nur stored procedures
so dass für den Fall, dass es ein Problem mit der Abfrage gibt, keine recompilation
erforderlich wäre, sondern nur eine Änderung an einer stored procedure
in einer Datenbank. Gibt es Alternativen, wie alle SQL queries
in einer eigenen Klassenbibliothek zu halten?
Dapper unterstützt beide Möglichkeiten und hat keine Meinung zu dem Thema.
Ihre Frage weist darauf hin, dass die Bereitstellung Ihrer Codebasis schwierig ist. Wenn dies clientseitiger Code ist, könnte das sinnvoll sein. Bei serverseitigem Code ist es normalerweise einfacher, die App erneut zu implementieren als eine gespeicherte Prozedur zu ändern - idealerweise 1 Klick über etwas wie TeamCity. Natürlich sollten Ihre gespeicherten Prozeduren auch eine Prozess- / Einsatzkontrolle haben.
Wenn Sie das SQL in einer Klassenbibliothek haben, werden Sie nicht viel kaufen: Sie müssen noch neu bereitstellen, um die Änderungen zu erhalten. Natürlich kann es sinnvoll sein, Ihren datenorientierten Code in separaten Assemblys mit dem UI-Code (usw.) zu haben, aber das ist eine Entscheidung für eine lokale Architektur.