Docs state that in both .NET and SQL server the resolution is 100ns.
The time component of a DateTimeOffset value is measured in 100-nanosecond units called ticks - C# Accuracy - 100 nanoseconds - SQL Server
However SQL seems to drop the last digit (e.g. I'm trying to save 2013-08-15 09:19:07.2459675 -04:00, and SQL saves 2013-08-15 09:19:07.2459670 -04:00 - notice the last digit changes.)
This happens on a same machine, so its not hardware dependent.
Not that I actually need this resolution, but it makes comparing the dates harder.. and I'm just curious.
I'll say that the problem is yours... A little code to show:
On my sql:
The "short" is a
DateTimeOffset(6)
.