为什么EntityFramework会修剪掉UTF编码的字符串?

时间:2014-08-01 12:49:33

标签: c# sql entity-framework

Encoding.UTF8.GetString(inBytes, 0, inBytes.Length)

“\ 0 \ 0ID \ 0 \ 0 \ 0 \ 0NJ \ 0SchemaVersion \ 0 \ 0 \ 0 \ 0RequestType \ 0 \ 0 \ 0 \ 0 \ n” 个

使用EntityFramework保存到数据库时,上面的字符串被裁剪为单个字符' '

EntityFramework是否修剪幕后的字符串?可能是为了防止SQL注入!

更多信息:

我获得了一个长UTF8编码的字符串,并尝试使用实体框架保存到SQL Server数据库中。目标列的数据类型为nvarchar(max)& EF映射到C#是字符串。

我已在快速监视中查找此变量,并已正确分配给dbcontext表属性。

1 个答案:

答案 0 :(得分:1)

问题在于编码字符串中有很多'\0'个字符。它被视为识别字符串结尾的空字符。

所以我必须处理字符数组中的这些字符来处理它。