Auf der grundlegendsten Ebene können Sie den TSQL einfach dynamisch in einem StringBuilder erstellen - indem Sie extra and c.Name = @name
etc hinzufügen. Mach dir keine Sorgen über zusätzliche Parameter; Sende sie alle - die Bibliothek prüft den Befehl und fügt keine Parameter hinzu, die offensichtlich nicht verwendet werden. Es gibt eine zweite, neuere API für dieses spezielle Szenario, aber ich kann mich nicht an die Besonderheiten erinnern, ohne zu überprüfen (und ich bin nicht an einem Computer). Ich kann versuchen, später weitere Details hinzuzufügen (vorausgesetzt, dass Sam das nicht tut).