Như bạn đã chỉ ra, điều này là do C # 2.0 không hỗ trợ các tham số tùy chọn.
Một giải pháp khác có thể là gói các thủ tục được lưu trữ .NET trong các thủ tục được lưu trữ T-SQL thông thường chấp nhận các tham số mặc định.
Ví dụ:
CREATE PROCEDURE TestProcWrapper
(
@TestIntWrapperParam int = null
)
AS
EXEC TestProc @TestInt = @TestIntWrapperParam
Nó hơi xấu nhưng có thể giúp bạn trên đường đi ngay bây giờ.