c# - 如何在 LINQ 查询中选择现有对象
问题描述
我有一张桌子公司
CompanyId
CountryId
and so on...
然后有一个具有以下结构的对象列表(让我们将此列表数据集命名)
Id
CountryId
CurrencyId
TotalCost
and so on...
我想要做的是获取上述数据集中存在的所有公司,所以我试图编写如下查询:
IEnumerable<Company> companies = db.Companies.Where(a=a.CompanyId == dataset.Select(a=>a.CompanyId).ToList()
但它给了我一个错误,
运算符 '==' 不能应用于 typ int 和 List 的操作数
如何摆脱这个错误?
解决方案
IEnumerable<Company> companies = db.Companies.Where(a=> dataset.Select(b=>b.CompanyId).Contains(a.CompanyId)).ToList()
试试这个,你试图在单个 int 变量上使用 int == 列表.. 使用 contains 来做到这一点
推荐阅读
- java - java.lang.VerifyError:不能从带有spring websocket的最终类继承
- msal - Missing nuget version: Microsoft.Identity.Client.1.1.1-alpha0414
- java - Apache POI sets Values in Cells of an xlsx file, but doesnt confirm them in the processing strip
- ios - Use Variable in Method
- ant - Which "empty directories" are being copied by ant?
- c# - Why can I use (almost) any type in a foreach over a list of unrelated interfaces?
- graphql - 如何解决 graphql 语法错误 gatsby.js
- hyperledger-fabric - 超级账本交易的性能问题
- java - Spring Data JPA 无法实例化持久化程序 org.hibernate.persister.entity.JoinedSubclassEntityPersister
- html - Angular 4:只要表单未验证,就禁用按钮