我正在我的 .NET 项目中使用 EF Core 8 和 MySql 提供程序 (Pomelo)。我遇到了一种奇怪的情况,其中以下代码片段无需 Dtos 即可运行,并且不会产生错误“无法在 LINQ to Entities 查询中构造实体”
EF Core 发生了什么变化,或者我的代码有问题吗?我记得在这种情况下你需要使用 Dtos,否则会抛出错误。任何见解将不胜感激!
public DbSet<Product> Products { get; set; }
var list = DbContext.Products
.Select(x => new Product()
{
ID = x.ID,
Name = x.Name,
Qty = x.Qty,
}).ToList();
我正在使用以下 EF Core 包参考:
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.10" />
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
这一直有效,并且与跑步相同
var list = DbContext.Products.ToList();