8,497
社区成员
发帖
与我相关
我的任务
分享
public class Product
{
public int ID { get; set; }
public string name { get; set; }
public virtual ICollection<ProductItem> items { get; set; }//一对多
}
public class ProductItem
{
public int ID { get; set; }
public Product product { get; set; }//按理,这个对象是指向父
public string package { get; set; }
public int pack { get; set; }
public decimal price { get; set; }
}
public class Purchase : DbContext
{
public Purchase() : base("Purchase") { }//Purchase表示数据库链接
public DbSet<Product> product { get; set; }
public DbSet<ProductItem> product_item { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//一对多,这句正常
modelBuilder.Entity<Product>().HasMany(p => p.items).WithRequired(i => i.product);
//下面这句是想从子查询到父
modelBuilder.Entity<ProductItem>().HasRequired(i => i.product);
}
}
Purchase db = new Purchase();
ProductItem item = db.product_item.Single(i => i.ID == id);
if (item == null)
return View();
//下面这句出错,product对象为空,请问我如何才能让product有值,指向父
ViewBag.product_name = item.product.name;