오류:entity 유형 기본 키가 필요합
을 묻는 질문에 이 스레드
바인딩 listbox 다
에 의해 그 능력을 지속적 데이터입니다. 구조는 대개는 제외하고는 동일한 설치 엔티티 프레임워크 핵심,만든DbContext
클래스를 길게 기록합니다. 추가 버튼을 저장할 데이터 있음을 의미합니다. 가 발생하지 않은 컴파일러하지만 때 나는 저장을 시도한 데이터를 데이터베이스에서 이를 실행 시간은 예외:
Message=entity 유형'Fruit'필요한 기본 키로 정의할 수 있다. 전체적인 예외 전체에서는 아래 나열된 시스템입니다.InvalidOperationException 처리되지 않았 외=-2146233079 Message=entity 유형'Fruit'필요한 기본 키로 정의할 수 있다. Source=Microsoft.EntityFrameworkCore StackTrace: Microsoft 에서 사용할 수 있습니다.EntityFrameworkCore.내부입니다.ModelValidator.ShowError(문자열은 메시지) Microsoft 에서 사용할 수 있습니다.EntityFrameworkCore.내부입니다.ModelValidator.EnsureNonNullPrimaryKeys(IModel 모델) Microsoft 에서 사용할 수 있습니다.EntityFrameworkCore.내부입니다.ModelValidator.유효성 검사(IModel 모델) Microsoft 에서 사용할 수 있습니다.EntityFrameworkCore.내부입니다.RelationalModelValidator.유효성 검사(IModel 모델) Microsoft 에서 사용할 수 있습니다.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext 컨텍스트,IConventionSetBuilder conventionSetBuilder,IModelValidator 검사기) 에 Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.<>cDisplayClass14_0.
47 6
이 예외 메시지지 않는't 평균이 필요할 수 있도록 기본 키에서 정의하데이터베이스,그 의미가 필요할 수 있도록 기본 키에서 정의클래스.
비록 당신이've 도 그렇게 하려면 다음과 같이 합니다.
이 효과가 없으로,엔티티 프레임 워크를 무시 읽기 전용 속성이 있습니다. 그것은 있을 때는 그것을 검색
과
녹화 데이터베이스에서,그것은 구성과
개체화의 속성을 세팅에 대한 각 매핑을 제공합니다. 는's 결코 작동하는 것에 대한 읽기 전용 속성이 있습니다.당신이 필요로 엔티티 프레임워크를 설정할 수 있는 값의
ID
. 이 뜻의 속성이 있어야 setter.여기에 왔는 유사한 오류:
후 읽기에 대답하여 hvd,는 것을 깨달았을 잊을 키 속'공'. 니다.
해야 합니다.
귀하의 Id 속성을 요구하였습니다. 그러나 세터 수 있습니다.
을[Key]
특성이 필요하지 않는 경우 호텔 이름"Id"그대로 그것을 찾을 수 있을 통해 이름 지정 규칙에 보이는 곳에 대한 열쇠와 이름"Id".내가 찾는 조금 다른 원인 오류가 있습니다. 는 것 같 SQLite 을 사용하려는 정확한 주요 키 클래스의 속성 이름입니다. 그래서...
잘못된 PK 이름
올바른 PK 이름
그것은 아직도 가망을 사용하여 잘못된 PK 이름이지만 우리가 사용하는[특성을 좋아
내 경우에는 제가 생각한 문제는 내가 사용하는 속성을 다음과 같이:
지 확신이 있을 경우는 더 나은 방법으로 해결하는 그러나 나는 이메일과 PhoneNumber 특성하는 문자열을 사용합니다. 문제를 해결합니다.
아무도 답했을 때까지 제거 HasNoKey()메소드에서 entity. 하는 것을 잊지 말라 이를 제거에서 데이터의 컨텍스트 또는[특성을 해결하지 않습니다.