сравнить текстовые строки в SQL Server 2005 по linq - PullRequest
3 голосов
/ 11 марта 2011

Как сравнить тип ntext в sql server 2005 со строкой с linq?

в sql server 2005;

@a as ntext

linq в c #;

string b;

var k=from p in DataContext.TableName 

where p.a.toString()==b)

select p;

//return k=null

Ответы [ 3 ]

1 голос
/ 11 марта 2011

NTEXT столбцы нельзя сравнивать.См. MSDN и MSDN Forum

Если вы работаете в 2005 году или более поздней версии, преобразуйте NTEXT в NVARCHAR (MAX), как уже предлагали другие.

1 голос
/ 15 февраля 2012

Вы можете сделать это в linq2sql, используя статический метод «Like» класса System.Data.Linq.SqlClient.SqlMethods.

string b;

var k=from p in DataContext.TableName 

where System.Data.Linq.SqlClient.SqlMethods.Like(p.a, b)

select p;
0 голосов
/ 11 марта 2011

Если вы используете linq2sql, тогда ваш псевдокод правильный - хотя вам не нужно использовать .ToString () и, очевидно, вам нужно будет соответствовать скобкам.

Также, как уже отмечалось в комментариях, NVARCHAR (MAX) теперь является предпочтительным типом данных вместо NTEXT

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...