Sql server 将SQL转换为LINQ到SQL

Sql server 将SQL转换为LINQ到SQL,sql-server,linq-to-sql,Sql Server,Linq To Sql,我有下面的SQL片段,我不知道如何翻译成LINQ (p.prioid LIKE '1%' OR p.prioid LIKE '2%' OR p.prioid LIKE '3%') 我试图这样做: (p.prioid.Contains(1) || p.prioid.Contains(2) || p.prioid.Contains(3)) 但收到以下错误消息:“无法从int转换为string” 我检查了表,1、2和3都是int数据类型,因此我认为如果我用引号将int转换为字符串,它将无法正常工作

我有下面的SQL片段,我不知道如何翻译成LINQ

(p.prioid LIKE '1%' OR p.prioid LIKE '2%' OR p.prioid LIKE '3%')
我试图这样做:

(p.prioid.Contains(1) || p.prioid.Contains(2) || p.prioid.Contains(3))
但收到以下错误消息:“无法从int转换为string”

我检查了表,1、2和3都是int数据类型,因此我认为如果我用引号将int转换为字符串,它将无法正常工作

试试这个:

(p.prioid.ToString().StartsWith("1") || p.prioid.ToString().StartsWith("2") || p.prioid.ToString().StartWith("3"))
Quick-n-dirty:)

试试这个:

(p.prioid.ToString().StartsWith("1") || p.prioid.ToString().StartsWith("2") || p.prioid.ToString().StartWith("3"))

Quick-n-dirty:)

LIKE将仅使用提供的字符串数据工作,即使您正在搜索其他数据类型

如果您注意到,即使在SQL中,您也将它们作为字符串提交

p.prioid LIKE '1%' OR p.prioid LIKE '2%' OR p.prioid LIKE '3%'
快速修复将使用
.ToString()
并提交您的查询

(p.prioid.Contains(1.ToString()) || p.prioid.Contains(2.ToString()) || p.prioid.Contains(3.ToString()))

我猜这将使用某种变量,而不是像示例中那样的固定值。

like将只使用提供的字符串数据,即使您正在搜索其他数据类型

如果您注意到,即使在SQL中,您也将它们作为字符串提交

p.prioid LIKE '1%' OR p.prioid LIKE '2%' OR p.prioid LIKE '3%'
快速修复将使用
.ToString()
并提交您的查询

(p.prioid.Contains(1.ToString()) || p.prioid.Contains(2.ToString()) || p.prioid.Contains(3.ToString()))

我猜这将使用某种变量,而不是像示例中那样的固定值。

在执行任何字符串比较操作()之前,需要将整数类型转换为字符串(
.ToString()
)在执行任何字符串比较操作之前()@jonnyGold:Thank you's help@jonnyGold:Thank you's help@Mohammed ElSayed:down vote accept LIKE只能使用提供的字符串数据工作。即使您正在搜索其他数据类型。如果您注意到,即使在SQL中,您也将它们作为字符串提交。。你说得对。我甚至没有注意到。我专注于prioid是一种int数据类型这一事实。这导致了更多的混乱。如果数据字段是int,但SQL语句正在查找字符串,那么该如何工作?另外,执行“p.prioid.Contains(1.ToString())”和执行p.prioid.Contains(“1”)之间是否有区别?这两个示例之间没有区别,因为它们将计算为同一个SQL语句。附言:什么是否决票?是你做的还是其他人做的。顺便说一句,我们都在这里互相帮助,我们都会说一些错误的信息,或者会面临一些我们不知道的事情。所以别担心,我只是想帮你。很高兴你已经解决了你的问题。我不知道“拒绝投票”是什么意思。我点击“此答案很有用”,并点击复选标记作为我接受的答案。你没有说错什么,也没有给我任何错误的信息。相反,你帮了我很大的忙,我非常感激。@Mo在文本选择前两句时,鼠标向左滑动,将在你的选择中包含downvote和accept UI元素。如果您查看页面源代码,您将看到这两个元素的文本是“downvote”和“accept”。如果您随后粘贴所选内容,这两个词将被包括在内…@ProgrammingNewbie:谢谢您的回答,我希望我能对您有所帮助。@Mohammed ElSayed:down vote accept LIKE将仅使用提供的字符串数据工作。即使您正在搜索其他数据类型。如果您注意到,即使在SQL中,您也将它们作为字符串提交。。你说得对。我甚至没有注意到。我专注于prioid是一种int数据类型这一事实。这导致了更多的混乱。如果数据字段是int,但SQL语句正在查找字符串,那么该如何工作?另外,执行“p.prioid.Contains(1.ToString())”和执行p.prioid.Contains(“1”)之间是否有区别?这两个示例之间没有区别,因为它们将计算为同一个SQL语句。附言:什么是否决票?是你做的还是其他人做的。顺便说一句,我们都在这里互相帮助,我们都会说一些错误的信息,或者会面临一些我们不知道的事情。所以别担心,我只是想帮你。很高兴你已经解决了你的问题。我不知道“拒绝投票”是什么意思。我点击“此答案很有用”,并点击复选标记作为我接受的答案。你没有说错什么,也没有给我任何错误的信息。相反,你帮了我很大的忙,我非常感激。@Mo在文本选择前两句时,鼠标向左滑动,将在你的选择中包含downvote和accept UI元素。如果您查看页面源代码,您将看到这两个元素的文本是“downvote”和“accept”。如果你粘贴你的选择,这两个词将被包括在内…@ProgrammingNewbie:谢谢你的回答,我希望我能对你有所帮助。