简体   繁体   English

LINQ IN类型查询可基于另一个查询的结果集获取记录

[英]LINQ IN type query to get records based on result set of another query

UserAuthorizations table has Company per User wise, and I want to get the list of Companies for the Users which are assigned as to them. UserAuthorizations表具有每个用户明智的公司名称,我想获取为其分配的用户的公司清单。

        // GET: odata/Companies/GetUserCompanies
        [EnableQuery]
        public IQueryable<UserAuthorization> GetUserCompanies()
        {
            List<int> userCompanyIds = db.UserAuthorizations.Where(u => u.Cwid == this.UserId).Select(s => s.CompanyId).ToList();
            return db.Companies.Where(m => m.Id.ToString().Contains(userCompanyIds));

        }

For above I am getting error like 对于上面我得到像

Cannot convert from 'System.Collections.Generic.List<int>' to 'string'

在此处输入图片说明

try it 试试吧

        public IQueryable<Company> GetUserCompanies()
        {
            List<int> userCompanyIds = db.UserAuthorizations.Where(u => u.Cwid == this.UserId).Select(s => s.CompanyId).ToList();
            return db.Companies.Where(m => userCompanyIds.Contains(m.Id));
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM