Thanks StackOverflow users George Stocker for asking, Örjan Jämte and Sir Crispalot for answering.
- SQL Server 2005:
SQL Server Data Types and Their .NET Framework Equivalents.
Data Type Conversion (Database Engine). - SQL Server 2008:
Mapping CLR Parameter Data.
Data Type Conversion (Database Engine). - SQL Server 2008 R2:
Mapping CLR Parameter Data.
Data Type Conversion (Database Engine). - SQL Server 2012:
Mapping CLR Parameter Data.
Data Type Conversion (Database Engine).
Below is the SQL Server 2012 table, in which I added links to the various data types.
I also added two columns with linked references to the types from the C# data types, C# Keywords, Reference Tables for Types (C# Reference) and Data Type Summary (Visual Basic).
One of the things I need to check is against the LINQ SQL-CLR Type Mapping.
It is very important to keep in mind that in SQL, each combination of precision and digits gets you a different decimal type, and all of them are different from the .NET decimal type. See for instance the answers on these questions: