在下面的示例中,我在LINQ Includes中使用lambda表达式来获取三个实体中的客户列表,其中主要实体是所有客户,仅具有2个属性Id和bool:IsCompany,第二个实体仅包含公司,第三个实体仅包含个人。以下代码在使用.Net Core 2.2时有效,当我更新到3.0时它停止工作了,而我能找到的大多数解决方案都是针对多级别如Include -> ThenIclude的,这在这里无法工作。
3.0 breaking changes版本并未提及此情况。 public async Task<ActionResult<IEnumerable<CustomersListVM>>> GetCustomers()
{
List<CustomersListVM> customerList = await _context.Customers
.Include(p => p.Company.Name)
.Include(p => p.Individual.Name)
.Select(p => new CustomersListVM
{
Id = p.Id,
CustomerId = p.CustomerId,
Name = p.IsCompany == true ? p.Company.Name : p.Individual.LastName + ' ' + p.Individual.FirstName
}).ToListAsync();
return customerList;
}
有任何想法吗?
Include("Full.Path.ToChild")
,它可以正常工作。 - Matt U