對象的名單上有一個名爲Business
的abstract
類,看起來像這樣:包括抽象父EF代碼第一次
public abstract class Business
{
public int Id { get; set; }
public string Name { get; set; }
public string TaxNumber { get; set; }
public string Description { get; set; }
public string Phone { get; set; }
public string Website { get; set; }
public string Email { get; set; }
public bool IsDeleted { get; set; }
public virtual IEnumerable<Address> Addresses { get; set; }
public virtual IEnumerable<Contact> Contacts { get; set; }
}
一個從上面繼承是Supplier
類的類。這看起來是這樣的:
public class Supplier : Business
{
public virtual ICollection<PurchaseOrder> PurchaseOrders { get; set; }
}
一切都很好,但是當我來到搶一個供應商對我的MVC的前端,我想包括與供應商相關的Addresses
。
我嘗試這樣做:
public Supplier GetSupplier(int id)
{
return _context.Businesses.Include(b => b.Addresses).OfType<Supplier>().SingleOrDefault(x => x.Id == id);
}
但它不工作,它說沒有Addresses
財產上Supplier
。
*工作!*謝謝。爲什麼使用IEnumerable <>'是錯誤的? – Ciwan
@Ciwan看看這個http://stackoverflow.com/questions/7655845/icollectiont-vs-listt-in-entity-framework –
真棒,謝謝。現在有道理。 – Ciwan