0

我有一个订单类,其中包含一系列产品......

public class Order
{
    int id { get; set; }
    public virtual ICollection<Product> Products { get; set; }
}

public abstract class Product
{
    int id { get; set; }
}

从产品派生,我有几种不同类型的产品...

public class ProductA : Product
{
    public string CustomFieldA {get; set;}
}

public class ProductB : Product
{
    public string CustomFieldB {get; set;}
}

我可以将这些衍生产品添加到订单中并将它们保存到数据库中...

var producta = new ProductA();
producta.CustomFieldA = "abc";
order.Products.Add(product);
order.SaveChanges();

这将正确更新数据库。

我无法弄清楚我如何访问这些数据!

Order.Products 只包含基类,我如何检查 Order.Products 中的每条记录是哪种类型的派生类并访问,例如,任何 ProductA 的 CustomFieldA。

我怀疑要么我遗漏了一些非常明显的东西,要么我做的第一部分完全错误!

4

0 回答 0