我有两个型号
第一个模型
public class Company
{
public int Id { get; set; }
public string CompanyName {get;set;}
public virtual ICollection<Member> Member { get; set; }
}
第二种模式
public class Member
{
public int Id { get; set; }
public string Name { get; set; }
public virtual Company Company { get; set; }
}
所以公司可以有很多会员
首先,创建公司记录,然后重定向到成员控制器,当我尝试保存成员记录时,它失败。
以下是我正在做的事情:Id是通过ActionLink传递的公司ID。我检查过的ID有一个值。当我想将Id分配给会员的company_Id(FK)
时,它会失败 [HttpPost]
public ActionResult Create(Member m, int id)
{
if (ModelState.IsValid)
{
**m.Company.Id = id;**
db.Member.Add(m);
db.SaveChanges();
return RedirectToAction("Index");
}
}
创建成员表时,它创建的字段 Id,name,Company_Id(FK)
我做错了什么?如何将companyId分配给会员的Company_Id(FK)?
由于
答案 0 :(得分:0)
我认为公司是空的,这就是原因。这样做:
public class Member
{
public int Id { get; set; }
public string Name { get; set; }
public int CompanyId Integer { get; set; }
public virtual Company Company { get; set; }
}
并在你的行动中写道:
//...
m.CompanyId = id;
//...
这应该可以解决问题。如果您想了解更多信息,请查找导航属性和外键属性。