 <p>According to the <a href="http://msdn.microsoft.com/en-us/library/aa260631(SQL.80).aspx" rel="nofollow noreferrer">documentation</a>, the Transact-SQL <strong>timestamp</strong> data type is just an incrementing number and does not preserve a date or a time. You can't convert that to a meaningful <code>DateTime</code> value.</p> <p>The documentation says that it's an 8-byte value. So, if it's stored in a <code>System.Data.Linq.Binary</code>, you could convert it to a <code>long</code> with this code:</p> <pre><code>System.Data.Linq.Binary timestampValue; // Somehow get a reference to the SQL timestamp you're interested in // Use BitConverter to convert the 8 bytes to a long long timestampLong = BitConverter.ToInt64(timestampValue.ToArray(), 0); </code></pre> <p>You could try to convert that value to a <code>DateTime</code> by calling the constructor that takes a <code>ticks</code> value, but the results would be meaningless. You might also encounter an exception if the <code>ticks</code> value is out of range.</p>