Definir parâmetro para DBNull.Value usando sintaxe ternário dá erro?

Eu tenho o seguinte bit de código para definir um parâmetro que será usado em uma instrução INSERT para definir uma coluna VARCHAR em um banco de dados do SQL Server. Meu objeto de valor (chamado ilo) tem uma propriedade chamada Descrição que é inicializada em String.Empty e depois é definida para algum valor lido em XML ou, se esse elemento XML estiver vazio, permanece como String.Empty.

Portanto, ao inserir no banco de dados, se a propriedade ainda estiver definida como String.Empty, gostaria de inserir um valor nulo.

database.AddInParameter(cmd, "@description", DbType.String, 
                           (ilo.Description.Equals(string.Empty)) ?
                            DBNull.Value :
                            ilo.Description);

Então, basicamente, eu estou dizendo, se ilo.Description é igual a string.empty, defina o parâmetro como DBNull.Value, caso contrário, defina-o como ilo.Description.

Isso dá o seguinte erro no Visual Studio ...

Erro 141 O tipo de expressão condicional não pode ser determinado porque não há conversão implícita entre 'System.DBNull' e 'string'

Por quê?

A parte curiosa é que eu posso fazer o seguinte sem erro, que deve ser exatamente a mesma coisa que usar a sintaxe condicional inline como acima!

if(ilo.Description.Equals(string.Empty))
{
    database.AddInParameter(cmd, "@description", DbType.String, DBNull.Value);
}
else
{
    database.AddInParameter(cmd, "@description", DbType.String, ilo.Description);
}

Eu procurei outros posts e encontrei o que está abaixo, mas ele não responde a minha pergunta.

EntLib maneira de vincular valor "nulo" ao parâmetro

Estou mais interessado em PORQUE, porque a solução óbvia é apenas usar uma instrução if / else em vez da sintaxe inline (ternário)?

Há uma espécie de resposta neste link, mas eu gostaria de uma explicação melhor, porque parece ser BS para mim que isso não funcione; Eu chamaria de bug!

http://msdn.microsoft.com/pt-br/library/ty67wk28.aspx

questionAnswers(4)

yourAnswerToTheQuestion