首页 > 解决方案 > 获取 varbinary 值时返回的字符串

问题描述

我正在尝试从 SQL Server 表中的列中读取byte[]( ) 值。varbinary当我byte[]使用 API 从列中获取值时,它返回 avarchar而不是存储在列中的值。

如何使用 API 获取准确的数据?我正在尝试使用存储在列中的二进制值进行解密。

我已在 API 代码中将类型更新为 byte 以返回Byte[]值,但它返回一个varchar,

public async Task<IActionResult> GetBinaryValue([FromRoute] int id)
{
        if (!ModelState.IsValid)
        {
            return BadRequest(ModelState);
        }

        var Binary Value = await _context.GetBinaryValue.FindAsync(id);

        if (GetBinaryValue == null)
        {
            return NotFound();
        }

        return Ok(GetBinaryValue);
 }

 public partial class GetBinaryValue
 {
    public int Uniquekey{ get; set; }
    public string Value{ get; set; }
    public DateTime SysStart { get; set; }
    public DateTime SysEnd { get; set; }
    public byte [] BinarValue{ get; set; }
}

数据库中的值:0x9D8E1A40CA08A569417699547667XXXX

通过 API 获取值:nY4aQMoIpWlBdplUdmeQXXXX

预期结果:0x9D8E1A40CA08A569417699547667XXXX

标签: entity-frameworkasp.net-core-2.0

解决方案


推荐阅读