我正在尝试在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
答案 0 :(得分:0)
您必须在本地序列上使用Contains
:
Dim count = mydatacontext.table.Where(Function(sqlRec) _
myList.[Select](Function(x) _
listItem.IdProperty.ToString()) _
.Contains(sqlRec.guidIdField.ToString())).Count()