首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >LINQ to SQL:“方法'Boolean (System.String)‘不支持转换到SQL。”

LINQ to SQL:“方法'Boolean (System.String)‘不支持转换到SQL。”
EN

Stack Overflow用户
提问于 2015-07-26 17:48:17
回答 2查看 2.6K关注 0票数 7

我有一个表示tmdbId的字符串集,用于磁盘上的电影,名为moviesOnDisk。

我有一个电影对象的数据库,并在tmdbId上建立索引。

我想删除数据库中存在但磁盘上不存在的记录。

我要用这句话来区别一下:

代码语言:javascript
运行
AI代码解释
复制
var toDelete = Database.Movies.Where(x => !moviesOnDisk.Contains(x.TMDbId));

这没有给我任何结果,以下信息如下:

方法‘布尔包含(System.String)’不支持转换到SQL。

这附近有工作吗?显然,我可以迭代这两个列表,但我将追求最好的性能。

EN

回答 2

Stack Overflow用户

发布于 2015-07-26 18:11:10

将where子句更改为!moviesOnDisk.ToList().Contains(x.TMDbId)

@Rob在评论中给出了一个很好的解释,为什么Contains将在IEnumerable上工作,而不是在HashSet上工作

它之所以有效,是因为Contains是HashSet上的一个特定实现。在转换到SQL时,它有一组受支持的方法,包括Queryable.Contains() --这是一种与您编写的方法不同的方法。HashSet.Contains有一个不同的实现(即哈希值并执行查找),并且不能转换为SQL。

票数 5
EN

Stack Overflow用户

发布于 2015-07-26 17:59:51

将moviesOnDisk更改为数组,它将工作。

数组项的类型必须与TMDbId相同

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31643871

复制
相关文章
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true false; C: true true true false false;D: true true false true true。
福大大架构师每日一题
2022/09/30
1.3K0
2022-09-30:以下go语言代码输出什么?A: true true false true false; B: true false false true
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/10/28
1.1K0
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。 pac
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D:false true。
福大大架构师每日一题
2022/11/06
8980
2022-10-28:以下go语言代码输出什么?A:false false;B:true false;C:true true;D
java lang illegalargument_java true false
我们的JSP项目在上传文件时通常都需要获取目录在服务器上的绝对路径,request.getRealPath()方法显示已经过时,但是还是有替代方法的。HttpSession session = request.getSession(true); //获取session
全栈程序员站长
2022/10/02
4320
Unrecognized token 'XXXX': was expecting ('true', 'false' or 'null')
当dataType指定为json后,1.4+以上的jquery版本对json格式要求更加严格.如果不是严格的json格式,就不能正常执行success回调函数.
ydymz
2018/09/10
7.7K0
index=False与index=True的含义
在 Excel 中 index 函数是用来引用我们所需的信息. index = False:输出不显示 index (索引)值 index = True:输出显示 index (索引)值 ---- 一、index = False 二、index = True ---- 一、index = False 代码示例 运行结果 二、index = True 代码示例 运行结果
荣仔_最靓的仔
2021/09/07
2.7K0
面试:a==1 && a==2 && a==3 是 true 还是 false?
这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!
程序猿DD
2021/07/13
6160
面试:a==1 && a==2 && a==3 是 true 还是 false?
做「容量预估」可没有true和false
虽然如此,但是那些体量达到亿级或者是千万级的产品也只是少数公司的专属。对于整个行业里百万+的程序员群体来说,估计也就只有10%人有机会接触到这些“大系统”。
Zachary_ZF
2019/08/31
9920
Javascript中的Return,Return false和Return true
版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn.net/Quincuntial/article/details/52928626
Tyan
2019/05/25
2.4K0
面试官:为什么“false == []”和“false == ![]”都返回true?
英文 | https://javascript.plainenglish.io/interviewer-why-do-false-and-false-both-return-true-6e7944220337
winty
2023/01/09
9980
面试题:a==1 && a==2 && a==3 是 true 还是 false?
这是一个JS社区抛出来的问题。第一眼看到这个问题的时候,感觉这似乎是一个无稽之谈,一个变量怎么可能会同时满足俩个条件呢!
良月柒
2021/07/13
5580
面试题:a==1 && a==2 && a==3 是 true 还是 false?
shell判空true false的一个坑
在写shell的时候发现一个违反直觉的的操作,一般判断一个变量是否为boolean,习惯上使用if param。 但是在写脚本的时候,发现无论如何,不会走false。
潇洒
2023/10/20
8030
为什么1000==1000返回false,100==100返回true?
这可能是个讨论得较多的话题,但是我觉得它很有趣:为什么1000==1000返回false,100==100返回true?
三哥
2018/12/19
1.2K0
@Modifying(clearAutomatically = true)
今天在写测试的时候,里面有一个逻辑是更新数据,因为需要同时更新多条数据,所以我使用了JPQL来更新数据,但是在更新的语句成功执行并返回了更新了N条数据后,再次执行查询到的数据还是没有更新过的数据。
前Thoughtworks-杨焱
2021/12/07
1.1K0
leetcode 139. 单词拆分---完全背包问题之true or false类型
单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。
大忽悠爱学习
2021/11/15
5480
每周四更面试题:True+True=?
面试题:True + Ture == ? Python 的 “+” 号会根据操作对象数据类型的不同而进行重载,操作对象为数字类型时,它是算术运算符;操作对象为序列类型时,它是序列连接符。 那么问题是:如果操作对象为布尔类型呢? 你是否会认为?在揭晓答案前,首先了解一下 Python 的布尔数据类型。 布尔值 布尔数据类型只有 True or False 两个值,它作为逻辑判断的基准被应用在程序各处的布尔上下文中(e.g. if、while、for 等逻辑控制语句)。 虽然我们也会经常在布尔上下文中使用表
企鹅号小编
2018/01/22
8150
每周四更面试题:True+True=?
为什么Java中1000==1000为false而100==100为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
Leetcode名企之路
2020/09/04
6250
为什么 Java 中“1000==1000”为false,而”100==100“为true?
基本知识:我们知道,如果两个引用指向同一个对象,用==表示它们是相等的。如果两个引用指向不同的对象,用==表示它们是不相等的,即使它们的内容相同。
周辰晨
2022/09/20
4950
点击加载更多

相似问题

在MasterPage的超链接中设置动态Href

10

单击MasterPage中的链接按钮时出错

12

超链接控件vs链接按钮vs ImageButton vs ASP.NET中的按钮控件

12

使用服务器控件按钮打开与rel="“和href="”的链接

12

按钮、UpdatePanel和MasterPage

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文