对象的名单上有一个名为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