EF TPT创建和阅读

时间:2013-11-06 15:31:07

标签: c# .net entity-framework

我有一个订单类,有一系列产品......

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。

我怀疑我是否遗漏了一些非常明显的东西,或者我完全错误地完成了第一部分!

0 个答案:

没有答案