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