There are several new data types available now for interacting with SQL Server.  Any time you write a User Defined Aggreate , User Defined Function, or any other CLR object for SQL Server, you will use these new data types.  Unlike traditional .NET data types, all of the Sql data types implement the INullable interface.  This means that any instanace of this type will have an IsNull property to tell you if the data type is null. 
The following types in SQL Server, char, varchar, nchar, nvarchar, ntext, and text get mapped to the SqlString data type.  Binary, varbinary, image, and timestamp get mapped to the SqlBinary or SqlBytes data types.  The bit data type gets mapped to SqlBoolean.  Tinyint, smallint, int, and bigint get mapped to SqlByte, SqlInt16, SqlInt32, and SqlInt64 respectively.  DateTime gets mapped to SqlDateTime.
There are several other data types but you can probably guess the pattern by now.  All of these types are exposed through the System.Data.SqlTypes namespace.

Read the complete post at