2013-08-21 7 views
1

На самом деле, я сохраняю Image в DB с datatypeimage путем преобразования его в byte[].
Теперь мне нужно получить данные.
Итак, мой Linq запрос является:Linq Select Where byte []

byte[] str = (byte[])DtImages.Rows[i + 2]["COLUMN_IMAGE"];  
var dataimageid = (from xx in VDC.SURVEY_USER_IMAGES 
        where xx.IMAGE == str && xx.USERID == userid 
        select xx).FirstOrDefault(); 

Сообщения об ошибке: типы данных изображения и VARBINARY (макс) является несовместимыми в равном оператору.

Возможно ли это?

+0

http://blog.sqlauthority.com/2012/12/04/sql-server-fix-error-402-the-data-types-ntext-and-varchar-are-incompatible-in-the-equal -to-operator/ –

+1

Вы действительно пытаетесь сравнить изображения? он не поддерживается в SQL. – Ehsan

+0

Попробуйте прочитать это: http://stackoverflow.com/a/13119691/613130 ​​предлагает использовать VARBINARY (MAX) вместо типа данных изображения. Тогда вы можете сравнить его. – xanatos

ответ

0

Обновления ваших колонки изображения, как следующее в классе отображения

[Column(UpdateCheck=UpdateCheck.Never)] 
public System.Data.Linq.Binary IMAGE 

проверка обновлений должна быть ни на NTEXT, текст и изображения, так как SQL Server не поддерживает сравнение этих типов.