A: 

You can specify a default value instead:

@MailItemId int OUTPUT = 0

or something like that

Polaris878
That doesn't prevent the type being nullable, it just defines a default value which is not null. The two things are orthogonal.
Greg Beech
A: 

No, you can't do this. Types in SQL Server can always be NULL.

Greg Beech
+1  A: 

If nothing else, you can just modify the auto-generated code (in designer.cs) to not accept a nullable integer. If the parameter ever does end up being null, it will probably cause a weird exception down in the LINQ to SQL code, but that's not a huge deal.

Rex M
It seems pretty useful to me. So I'll try it right away. I'll tell you whether it will work or not :) But thanks for the answer.
Braveyard
A: 

You could create a function instead that returns an INT.

On the other hand, it is possible from SQL point of view that a NULL can be returned from function. I don't know how code generator will generate function for that. If it still returns a nullable int, I don't think it could be possible.

shahkalpesh