尝试使用Linq加入List和SQL表。 Contains方法仍然给出了本地序列不能使用的错误

时间:2012-02-06 18:35:35

标签: .net linq

我正在尝试在LINQ中加入表和列表。从stackoverflow上的帖子,我知道你不能使用连接从表和列表中选择 - 你必须使用.contains。但是当我使用.contains时,我得到了同样的错误。我还缺少什么?我试图做一些Linq不支持的事情吗?我是否应该编写一个支持者函数,逐个循环遍历dailyTotal记录(不需要连接)?

这是我的代码:

Dim count = (from sqlRec in mydatacontext.table, listItem in myList where _ 
    sqlRec.guidIdField.ToString.contains(listItem.IdProperty.toString select sqlRec).count

它给出了我试图解决的相同错误,其中包含:“除了Contains运算符之外,本地序列不能用于查询运算符的LINQ to SQL实现。”

我正在尝试这样做(当然,下面的语法不起作用):

(from sqlRec in table, listItem in List where sqlRec.guid=listId.Id select sqlRec).count

1 个答案:

答案 0 :(得分:0)

您必须在本地序列上使用Contains

Dim count = mydatacontext.table.Where(Function(sqlRec) _
                myList.[Select](Function(x) _ 
                   listItem.IdProperty.ToString()) _
                .Contains(sqlRec.guidIdField.ToString())).Count()