映射表为空

时间:2016-04-06 07:09:22

标签: mysql asp.net-mvc entity-framework code-first

下面是两个具有多对多关系的表,以及另一个与第一个表有关系的表。 Visual Studio使用名称OrderEmployee创建映射表,但是当我运行应用程序并向Timeunit创建表单输入一些信息时,映射表OrderEmployee为空!

如果没有为该表添加一些ID,因为它与Timeunit表有关系,或者这个映射表是如何工作的,何时会有数据添加到映射表中?或者我的实体类有问题吗?

    public class Order
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int? ManufacturerID { get; set; }
    public virtual Manufacturer Manufacturer { get; set; }
    public virtual ICollection<Employee> Employees { get; set; }
}

    public class Employee
{
    public int ID { get; set; }
    public string Name { get; set; }
    public int EmployeeNumber { get; set; }
    public virtual ICollection<Timeunit> Timeunits { get; set; }
    public virtual ICollection<Order> Order { get; set; }
}

    public class Timeunit
{
    public int ID { get; set; }
    public int Week { get; set; }
    public int HoursPerWeek { get; set; }
    public int EmployeeID { get; set; }
    public int? OrderID { get; set; } 
    public virtual Employee Employee { get; set; }
    public virtual Order Order { get; set; }
}

编辑: 为Timeunit创建方法:

            public ActionResult Create([Bind(Include = "ID,Week,HoursPerWeek,EmployeeID,OrderID")] Timeunit timeunit)
    {
        if (ModelState.IsValid)
        {
            db.Timeunits.Add(timeunit);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        ViewBag.ProjectID = new SelectList(db.Orders, "ID", "Name", timeunit.OrderID);
        ViewBag.ResourceID = new SelectList(db.Employees, "ID", "Name", timeunit.EmployeeID);
        return View(timeunit);
    }

0 个答案:

没有答案