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

发布于 2024-10-21 04:10:25 字数 278 浏览 4 评论 0原文

如何使用 linq 将 sql server 2005 中的 ntext 类型与 string 进行比较?

在 SQL Server 2005 中;

@a as ntext

C# 中的 linq;

string b;

var k=from p in DataContext.TableName 

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

select p;

//return k=null

How can I compare ntext type in sql server 2005 to string with linq?

in 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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

沉默的熊 2024-10-28 04:10:25

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

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

NTEXT columns cannot be compared. See MSDN and MSDN Forum

If you work on 2005 or higher, convert NTEXT to NVARCHAR(MAX), as others have already suggested.

泡沫很甜 2024-10-28 04:10:25

您可以使用 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;

You can do this in linq2sql using the static "Like" method of the System.Data.Linq.SqlClient.SqlMethods class.

string b;

var k=from p in DataContext.TableName 

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

select p;
谜兔 2024-10-28 04:10:25

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

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

If using linq2sql then your pseudocode is correct - although you won't need to use .ToString() and obviously you'd need to match the brackets.

Also, as already noted in the comments, NVARCHAR(MAX) is now the preferred data type instead of NTEXT

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文