Проблема происходит, потому что условный оператор не смотрит на то, как значение используется (присвоенный в этом случае) для определения типа выражения - просто истинные/ложные значения. В этом случае Вы имеете пустой указатель и Int32, и тип не может быть определен (существуют настоящие причины, которые это не может просто принять Nullable< Int32> ).
, Если Вы действительно хотите использовать его таким образом, необходимо бросить одно из значений к Nullable< Int32> самостоятельно, таким образом, C# может разрешить тип:
EmployeeNumber =
string.IsNullOrEmpty(employeeNumberTextBox.Text)
? (int?)null
: Convert.ToInt32(employeeNumberTextBox.Text),
или
EmployeeNumber =
string.IsNullOrEmpty(employeeNumberTextBox.Text)
? null
: (int?)Convert.ToInt32(employeeNumberTextBox.Text),
Я (пока) не являюсь пользователем SQLAlchemy, но слышал хорошие отзывы о sqlalchemy-migrate . Общий термин для вашей проблемы - «миграция схемы», я уверен, что поиск в Google , содержащий эти термины, поможет вам в дальнейшем.