我从 Linq 查询中选择一个 id,因此它是一个 int,但是当我尝试再次使用它时,它给了我错误:
无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“int”
var costcentre = company.CompanyCostCentres
.Where(cc => cc.Name.ToLower() == CostCentre.ToLower())
.Select(cid => cid.CompanyCostCentreId)
.ToList();
if (costcentre != null)
{
person.PersonInCompanyCostCentres.Add(new Core.Data.PersonInCompanyCostCentre
{
CompanyCostCentreId = costcentre,
UserId = person.UserId,
CompanyId = company.CompanyId,
RecordCreated = DateTime.Now,
RecordModified = DateTime.Now
});
}
Run Code Online (Sandbox Code Playgroud)
问题:
var costcentre = company.CompanyCostCentres.Where(cc => cc.Name.ToLower() ==
CostCentre.ToLower()).Select(cid => cid.CompanyCostCentreId).ToList();
Run Code Online (Sandbox Code Playgroud)
返回一个列表。
CompanyCostCentreId = costcentre
Run Code Online (Sandbox Code Playgroud)
尝试将列表分配给 int
解决方案:
如果cid.CompanyCostCentreId是int
改变
var costcentre = company.CompanyCostCentres.Where(cc => cc.Name.ToLower() ==
CostCentre.ToLower()).Select(cid => cid.CompanyCostCentreId).ToList();
Run Code Online (Sandbox Code Playgroud)
到
var costcentre = company.CompanyCostCentres.Where(cc => cc.Name.ToLower() ==
CostCentre.ToLower()).Select(cid => cid.CompanyCostCentreId).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
那么你应该处理如果没有给出结果则 costcenter 变为 0 的可能性。
| 归档时间: |
|
| 查看次数: |
20155 次 |
| 最近记录: |