Я не уверен в ваших бизнес-правилах, поэтому могу ошибаться, но то, что вы предлагаете, звучит как плохая идея.
Если ограничение NOT NULL не должно существовать, удалите его из БД. Если он должен существовать, программируйте вокруг него.
Если вам действительно нужно реализовать DDL для изменения таблиц, я бы написал хранимую процедуру и вызвал бы хранимую процедуру из C #.