如何使用where子句中的相关对象获得实体对象
本文关键字:对象 实体 何使用 where 子句 | 更新日期: 2023-09-27 18:02:25
我有以下表格:Companies -> RelCompanyTax -> CheckList我想要得到RelCompanyTax.CheckList.Month = 5的公司。所以问题是:我怎么能得到所需的公司从DB使用LINQ。
例如,我试图创建这样的查询:
var query = from comps in _context.Companies
where comps.RelCompanyTax.CheckList.Month = 5
select comps;
List<Company> resultCompanies = query.ToList();
,但我不能,因为这是错误的语法。如果可能的话,请帮助我用正确的语法写。
有关更多信息,我想说我有客户端<->服务架构,所以实体在服务端,问题不在于双赋值符号,这是比较谓词,是的,你是对的,我在这个主题中有语法错误,因为我没有从我的源代码复制代码。我已经写了comps.RelCompanyTax.CheckList.Month = 5
直接到这个主题。我的最终结果是得到所有符合comps.RelCompanyTax.CheckList.Month == 5
标准的公司。问题在system . data . objects . datacclasses . entitycollection中。在编译代码后,我复制了下面的错误信息:
错误4无法将lambda表达式转换为'string'类型,因为它不是委托类型CompanyService.cs 20 25 TAService
错误5委托系统。Func'不接受1个参数CompanyService.cs 20 25 TAService
-----------> 最重要的是错误信息 : ---------------->
错误6"system . data . objects . dataclass。"EntityCollection'不包含'CheckList'的定义,也没有扩展方法'CheckList'接受类型为' system . data . objects . datacclasses '的第一个参数。可以找到EntityCollection(您是否缺少using指令或程序集引用?)CompanyService.cs
在获得没有where条款的公司后,我可以通过方式访问CheckList属性List<RelCompanyTax> relCompanyTaxes = currentCompany.RelCompanyTaxes.ToList(); int checkListCount = relCompanyTaxes[0].CheckLists.Count;
但是当我试图在where子句中使用CheckList属性时,出现了4,5和6个错误。
我想你只是需要
comps.RelCompanyTax.CheckList.Month == 5
您缺少等号=
-单个=
是分配,双==
是比较(这是您想要的):
var query = from comps in _context.Companies
where comps.RelCompanyTax.CheckList.Month == 5
select comps;