将 base64 编码的整数转换为长整数

Convert base64 encoded integer to long

我正在 return 中 XML 如下 SQL Server 2016。如果我执行 CONVERT 选项,我会在下面收到此错误。我不想要那个错误,并且想要 return 这个奇怪文本的当前类型 AAAAAAF+nuc=。我可以将 .NET 中的这个转换为 long 吗?

Explicit conversion from data type timestamp to date is not allowed.

XML

<Assets>
  <Asset>
    <Type>2</Type>
    <FileName>179605.png</FileName>
    <Id>179605</Id>
    <Version>AAAAAAF+nuc=</Version>
    <Version1>25075431</Version1>
  </Asset>
</Assets>

SQL

SELECT 
    ga.[Type], ga.[FileName], ga.Id, ga.[Version], 
    CONVERT(BIGINT, ga.[Version]) AS [Version1]
FROM 
    Test ga
WHERE 
    ga.id = 179605
FOR XML PATH('Asset'), ROOT('Assets')

示例尝试

[TestMethod]
        public void Convert()
        {
            byte[] bytes = System.Convert.FromBase64String("AAAAAAF+nuc=");
            var longValue = BitConverter.ToInt64(bytes, 0); // -1756828261867847680
        }

嗯,你知道什么,使用此代码从 SQL 服务器获得了这个确切的答案。如果有更快的方法请评论。

[TestMethod]
        public void Convert()
        {
            byte[] bytes = System.Convert.FromBase64String("AAAAAAF+nuc=");
            Array.Reverse(bytes, 0, bytes.Length);
            var longValue =  BitConverter.ToInt64(bytes, 0); // 25075431
        }