繁体   English   中英

通过linq在sql server 2005中按字符串比较ntext

[英]compare ntext by string in sql server 2005 by linq

如何将sql server 2005中的ntext类型与linq的字符串进行比较?

在sql server 2005中;

@a as ntext

linq in c#;

string b;

var k=from p in DataContext.TableName 

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

select p;

//return k=null

无法比较NTEXT列。 请参阅MSDNMSDN论坛

如果您使用2005或更高版本,请将NTEXT转换为NVARCHAR(MAX),正如其他人已经建议的那样。

您可以使用System.Data.Linq.SqlClient.SqlMethods类的静态“Like”方法在linq2sql中执行此操作。

string b;

var k=from p in DataContext.TableName 

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

select p;

如果使用linq2sql,那么你的伪代码是正确的 - 虽然你不需要使用.ToString(),显然你需要匹配括号。

此外,正如评论中已经提到的,NVARCHAR(MAX)现在是首选数据类型而不是NTEXT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM