Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Linq where';不像';或者<&燃气轮机;相当于_Vb.net_Linq_Inversion - Fatal编程技术网

Vb.net Linq where';不像';或者<&燃气轮机;相当于

Vb.net Linq where';不像';或者<&燃气轮机;相当于,vb.net,linq,inversion,Vb.net,Linq,Inversion,我已经让它工作了: Dim locations = From row In allLocations.AsEnumerable() Where row.Field(Of String)("PartNr") Is Nothing Select row 它获取没有零件号的所有位置。 但我想做一些类似的事情来获取除一些记录之外的所有内容: 一个简单的字符串包含(即相当于SQL的,如“%substring%”)可以通过以下方式完成: 我找到了一个解决方案,解决了我一

我已经让它工作了:

Dim locations = From row In allLocations.AsEnumerable()                  
Where row.Field(Of String)("PartNr") Is Nothing
Select row
它获取没有零件号的所有位置。 但我想做一些类似的事情来获取除一些记录之外的所有内容:

一个简单的字符串包含(即相当于SQL的
,如“%substring%”
)可以通过以下方式完成:


我找到了一个解决方案,解决了我一直在寻找的问题:

Dim rgx As New Regex("^G[A-Z]")
Dim alleLocaties = From row In beginQuery.AsEnumerable()
                   Where (Not rgx.IsMatch(row.Field(Of String)("Location")) 

在这个例子中,我得到的所有位置都不是以G开头,后面跟着一个字母。

为什么你不能做
“12345”
?如果我尝试得到所有结果(包括12345),我可能会更好地澄清,我不是真的使用数字,而是一个正则表达式,例如:“G[a-Z]*”,在这种情况下,@Richard的答案应该有效。它适用于我定义的字符串部分,如示例中的G,但不适用于正则表达式。example/regex:G[A-Z]*很抱歉,我忘了说它实际上不仅仅是一个字符串,而是一个正则表达式。我只是在原帖中回复了它,因此我很抱歉忘记在op中澄清这一点。@TomParedis您需要使用一些Google Fu来查找可能的内容,其中肯定不会包含任何与.NET正则表达式功能相近的内容(请阅读文档以了解
类似的
:这是非常有限的匹配)。要直接使用服务器的
操作,比如
操作,您需要使用我期望的SQL。好的,我将尝试找到解决方案。感谢您的帮助如果它位于
数据表中
您也可以使用它。@TomParedis根据所涉及的行数,您可以从数据库中获取所有数据,并在.NET中应用正则表达式(即从
IQueryable(Of T)
切换到
IEnumerable(Of T)
,您可以在其中使用正则表达式。
Dim locations = From row In allLocations.AsEnumerable()                  
               Where not row.Field(Of String)("PartNr").Contains("12345")
               Select row
Dim rgx As New Regex("^G[A-Z]")
Dim alleLocaties = From row In beginQuery.AsEnumerable()
                   Where (Not rgx.IsMatch(row.Field(Of String)("Location"))