자, 이제 며칠 동안 내 머리카락을 풀어 왔습니다.EF 개체를 외래 키로 추가
엔티티 프레임 워크가 완전히 새로운 개체가 아닌 기존 개체에 외래 키로 개체를 삽입하도록 지시하려면 어떻게해야합니까? 나는 모든 종류의 것을 시도했다. "동일한 키를 가진 객체가 이미 ObjectStateManager에 존재하며, ObjectStateManager는 동일한 키를 가진 여러 객체를 추적 할 수 없습니다."라는 오류가 계속 나타납니다.
저는 주소에 국가를 추가하려고합니다. 국가는 모두 별도의 데이터베이스 테이블에 나열됩니다. 해당 국가는 MVC보기에서 게시 된 드롭 다운 목록에서 제공되므로 ID 만 있습니다. 즉, 개체를 얻을 수있는 유일한 방법은 EF를 쿼리하여 중복 된 개체가 생성된다는 것입니다.
누군가가 도움을 줄 수 있기를 바랍니다. 아아 그!
M
=== 추가 정보 ===
위에서 아주 정확하게 바로 countryID, 시나리오를 만들고이 유일한 작품 설정에 지적하면서. 편집을 위해 작동하지 않습니다.
나는 내 컨트롤러이 있습니다
public ActionResult Edit(SiteViewModel siteViewModel)
{
if (ModelState.IsValid)
{
Site site = _unitOfWork.SiteRepository.GetById(siteViewModel.SiteID);
_unitOfWork.Detach(site);
site = Mapper.Map<SiteViewModel, Site>(siteViewModel);
site.CountryId = siteViewModel.CountryId;
...
}
}
나는 여전히 지금 같은 키 오류로 여러 개체를 얻고있다. 국가를 분리하여 데이터베이스에서 제거하지 않고 다시 추가 할 수 있도록하려면 어떻게해야합니까 ??
도와주세요!
M
'국가'와 '주소'항목을 게시 하시겠습니까? –