두 개의 fk가있는 엔티티가 있습니다. 난 성공하지 않고 데이터베이스에 레코드를 삽입하려고했습니다. 이것은 내가 사용했던 방법입니다 : 두 번째 객체가 할당됩니다이 경우다시 Entity Framework 및 FK 문제
valuePaymentBetToAdd.BetType = db.BetTypes.First(betType => betType.Id == valuePaymentBetToAdd.BetType.Id);
valuePaymentBetToAdd.Lottery = db.Lotteries.First(lotto => lotto.Id == valuePaymentBetToAdd.Lottery.Id);
하지만 SaveChanges를 메서드를 호출 할 때 나는 복권 개체의 속성이 null이었다 없다는 오류가 발생합니다.
valuePaymentBetToAdd.BetTypeReference.EntityKey = new EntityKey(db.DefaultContainerName + ".BetType", "Id", valuePaymentBetToAdd.BetType.Id);
valuePaymentBetToAdd.LotteryReference.EntityKey = new EntityKey(db.DefaultContainerName + ".Lottery", "Id", valuePaymentBetToAdd.Lottery.Id);
이 경우 다른 이상한 오류가 발생합니다. 개체가 컬렉션에 추가 될 때.
해당 개체의 EntityReference에이 개체의 EntityKey와 일치하지 않는 EntityKey 속성 값이 있으므로 개체를 추가하거나 연결할 수 없습니다.
이 경우 뭔가가 누락 되었습니까?
당신이 아니라 두 라인을 삽입하는 데 사용하는 전체 코드를 보여주십시오 위해
그것은 작동합니다. 두 가지 방법 모두 괜찮습니다. 귀하의 버그는 다른 곳에 있습니다. 내 생각에 여러 ObjectContext를 사용하고 있지만 코드를 보지 않고도 말하기는 어렵습니다. –