【发布时间】:2022-12-09 17:12:42
【问题描述】:
我有一个抽象的class OrderDetail 和 class Order 定义如下:
public class Order
{
public OrderDetail Detail { get; set; }
}
我正在尝试查询数据库并获取订单列表,但出现“无法创建抽象类的实例”错误。但是,如果我直接测试创建新订单,那就没有问题了。
到目前为止,这是我测试过的内容:
通过案例
var success1 = new Order();
var success2 = new Order() { Detail = null };
var success3 = db.Invoice.Select(_ => new Order()).ToList();
失败案例
var fail = db.Invoice.Select(_ => new Order() { Detail = null }).ToList();
我正在使用 .NET Framework 4.8 和 Entity Framework 6.1.3。
【问题讨论】:
-
为什么
OrderDetail首先是抽象的?似乎很奇怪。 -
@jmcilhinney 它是实现 TPH 的数据库表的基类。在查询 OrderDetails 时,我也试图获取该表。示例中的名称可能有点误导,让我更新一下。
-
您的目标是什么 .NET 版本?
-
@jmcilhinney 我正在使用 .NET Framework 4.8 和 Entity Framework 6.1.3。
-
请把它变成minimal reproducible example。如果不猜测模型+数据库是什么样子,我们就无法重现这一点。
标签: c# entity-framework