我有一个订单类,其中包含一系列产品......
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。
我怀疑要么我遗漏了一些非常明显的东西,要么我做的第一部分完全错误!