0
일대 다 관계의 테이블 회사 및 역할이 있습니다. 게으른 로딩 설정의 경우 역할 엔터티의 FK 값이 회사의 PK 값과 동기화되도록 자동으로 설정되어야합니다. 회사 테이블에 회사 엔티티 인스턴스가 추가되었지만 새 역할 엔티티 인스턴스를 추가 할 때 어떤 이유로 인해 null이 추가됩니다. 내가 도대체 뭘 잘못하고있는 겁니까? ASP.net MVC : 1 대 다수의 지연로드에서 PK와 FK 값이 동기화되지 않습니다.
이러한 내 도메인 클래스와 상황은 다음과 같습니다public class Company
{
public Company()
{
Roles = new List<Role>();
Employees = new List<Employee>();
}
public int CompanyId { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public string PhoneNo { get; set; }
public string Email { get; set; }
public virtual ICollection<Role> Roles { get; set; }
public virtual ICollection<Employee> Employees { get; set; }
}
public class Role
{
public Role()
{
RoleOverviews = new List<RoleOverview>();
}
public int RoleId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual Company Company { get; set; }
public ICollection<RoleOverview> RoleOverviews { get; set; }
}
public class AppDbContext:DbContext
{
public DbSet<Company> Companies { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<RoleOverview> RoleOverviews { get; set; }
public AppDbContext() : base("DefaultConnection")
{
}
}
public ActionResult Create([Bind(Include = "RoleId,Name,Description")] Role role)
{
if (ModelState.IsValid)
{
db.Roles.Add(role);
db.SaveChanges();
return RedirectToAction("Index", "CompaniesRolesMV");
}
return View(role);
}
'에 대한 그것은 null이 추가 된 몇 가지 이유가 무엇입니까? 문제가 무엇인지, 문제가 발생한 곳을 명확하게 설명하지 않았습니다. – DaniDev
예 죄송합니다. 새 역할을 추가 할 때 회사 테이블의 PK 값에서 FK 값을 가져오고 대신 역할 테이블에서 null을 얻습니다. 필자의 경우 역할 테이블에서 자식 테이블에 새 엔터티를 추가하면 PK와 FK가 동기화되어야합니다. –
나는 그 반대의 생각을했습니다. PK 테이블에 새 항목을 추가 한 다음 FK 테이블에 다시 추가하십시오. – Steve