EF 4.3에서 복합 키를 사용하여 AddOrUpdate로 데이터를 시드하는 방법

일부 테스트 데이터로 개발 데이터베이스를 시드하려고 합니다.

나는 context.People.AddOrUpdate(p => p.Id, 사람들));를 사용하여 많은 성공을 거두었습니다.

시딩해야 하는 다른 테이블이 있는데 기본 키를 알 수 없습니다.

예를 들어, 이름과 성이 일치하는 것을 기반으로 추가하거나 업데이트하고 싶습니다.

표현식을 올바르게 작성하는 방법을 잘 모르겠습니다.

context.People.AddOrUpdate(p => p.FirstName && p.LastName, people);

는 분명히 잘못된 것이지만 제가 찾고 있는 해결책이 전달되기를 바랍니다.

해결책

이렇게 해보세요:

context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people);
해설 (6)

탐색 속성을 사용하여 `이 컨텍스트에서는 기본 유형 또는 열거 유형만 지원됩니다."라는 메시지가 표시되는 경우 외래 키 속성을 엔티티에 직접 추가하고 (게터만 사용할 수도 있음) Ladislav Mrnka가 제안한 대로 사용하는 것을 고려하십시오.

해설 (0)