Algumas vezes criamos procedures em base de dados Oracle que tem parâmetros do tipo Input e são opcionais. E dentro desse parâmetro opcional podemos programar internamente na procedure alguma lógica como por exemplo em campo de data se não receber data especificada utilizar data atual. O modo mais lógico de chamar parametro sem especificar valor seria simplesmente passar null, mas ao fazer isto prepare-se para receber uma Exception . :) A solução nestes casos é então passar o valor DBNull .Value. Segue exemplo abaixo utilizando drive C# da Oracle com sessão de Fluent Nhibernate : using (var command = (OracleCommand)Session.Connection.CreateCommand()) { command.CommandText = "sp_procedure001"; command.CommandType = CommandType.StoredProcedure; if (inicio == DateTime.MinValue && termino == DateTime.MinValue) { command.Parameters.Add...