I have been using LINQ to SQL for years now, but this is the first time I have seen this behavior.
I have a DB table with a few columns (varchar(15)
) that may contain empty strings (''
). I verify this by running LEN(Column)
and checking the result be 0
.
Now when I call this from LINQ2SQL, it returns the object field with a string containing a single space (string.Length == 1
).
There are a few workarounds I could apply, like making them NULL
on the DB or trimming the string, but I would like to know if anyone has come across this before or if the bug is known (reported on MS Connect). If not, I'll report it.
Thanks.
The issue is with the LEN
function:
SELECT LEN(' ')
Returns 0 in SQL Server; it is a total PITA.
But
SELECT DATALENGTH(' ')
Returns 1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With