【问题标题】:Why does EntityFramework trims out UTF encoded string?为什么 EntityFramework 会修剪掉 UTF 编码的字符串?
【发布时间】:2014-09-24 16:24:46
【问题描述】:
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 表属性。

【问题讨论】:

  • 好像你想将二进制数据保存为字符串
  • 你见过EF生成的SQL插入吗?
  • 使用 SQL Profiler 查看 SQL EF 正在生成什么

标签: c# sql entity-framework


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2018-01-13
    • 1970-01-01
    相关资源
    最近更新 更多