.NET API에 프런트 엔드 각 프레임 워크와 결합 된 기본 엔터티 클래스가 있습니다. 프로젝트와 회사라는 두 가지 수업이 있습니다. 프로젝트를 만들 때 회사를 지정해야합니다. 회사는 POST 요청을 프로젝트 컨트롤러에 보낼 때 저장되지 않습니다.기본 Entity Framework 웹 API : INSERT 문이 FOREIGN KEY 제약 조건과 충돌했습니다.
클래스는 다음과 같습니다
public class Project
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public Company Company { get; set; }
public Contact Contact { get; set; }
public User2 User { get; set; }
}
컨트롤러 방법은 다음과 같습니다 회사, 연락처, 사용자의 id의이 왜
가// POST: api/Projects
[ResponseType(typeof(Project))]
public IHttpActionResult PostProject(Project project)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.Projects.Add(project);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = project.Id }, project);
}
json으로 POST 데이터가 여기
{
"name":"project name",
"description":"text description",
"company":{"id":"1"},
"contact":{"id":"1"},
"user":{"id":"1"}
}
입니다 외래 키 테이블을 업데이트하지 않습니까? 외장 키를 저장하기 위해 컨트롤러 메소드에 전달하기 위해 필요한 값은 무엇입니까?
설명해 주셔서 감사합니다. 그건 내가 문제를 이해하는 데 약간 도움이된다. Entity Framework는 프로세스의 자동화 된 부분을 가지고 있어야하지만 설치 방법을 분명히 알지 못합니다. 엔티티가 외래 키를 찾는 것을 자동화하는 방법에 대한 아이디어? –