如何在C#中读取SQL二进制字段

时间:2012-06-07 11:46:32

标签: c# sql linq binary

  

可能重复:
  SELECT @@DBTS using Linq to SQL
  Sql binary to c# - How to get SQL binary equivalent of binary in c#

我有一个带有一个二进制列的SQL表。它有一些二进制格式的数据。

e.g。 0x9A8B9D9A002020202020202020202020

我正在使用LINQ上下文从此表中获取数据。任何人都可以帮助我得到这个。 这是我正在使用的示例代码,

IEnumerable<byte[]> query = context
                .ExecuteQuery<byte[]>("select empPWD from Employee where employeeId = E32");

当我运行此代码时,它会产生错误,例如需要映射类似的内容。

确切的错误消息;

  

类型'System.Byte []'必须声明默认值(无参数)   构造函数,以便在映射期间构造。

如果有人知道,请帮帮我。

1 个答案:

答案 0 :(得分:0)

你可以将它重构为:

IEnumerable<System.Data.Linq.Binary> query = 
           context.Employees.Where(e => e.employeeId == "E32").Select(e => e.empPWD);

我认为这应该有效(假设您的上下文包含Employees表类)。要访问byte [],请在System.Data.Linq.Binary类型的每个实例上使用ToArray()。