c# – LINQ to SQL中的错误,数据库上有空字符串

我已经使用LINQ to SQL多年了,但这是我第一次看到这种行为.

我有一个包含几个列(varchar(15))的数据库表,可能包含空字符串(”).我通过运行LEN(列)并检查结果为0来验证这一点.

现在当我从LINQ2SQL调用它时,它返回一个包含单个空格的字符串的对象字段(string.Length == 1).

我可以应用一些解决方法,例如在数据库中将它们设置为NULL或修剪字符串,但我想知道是否有人之前遇到过此问题或者是否已知错误(在MS Connect上报告).如果没有,我会报告.

谢谢.

解决方法

问题在于LEN功能:
SELECT LEN(' ')

在SQL Server中返回0;这是一个完整的PITA.

SELECT DATALENGTH(' ')

返回1

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...