MVC 3 응용 프로그램에서 엔터티 클래스를 만들었습니다. RegistryId라는 속성 중 하나는 외래 키뿐만 아니라 기본 키입니다. 외래 키뿐만 아니라 열 기본 키를 만들 수 있습니까? 나는 EF ORM 디자이너를 사용하지 않고있다. 나는 수업을 손으로 코딩하고있다.Entity Framework의 주/외래 키
31
A
답변
55
"EF ORM 디자이너를 사용하지 않는 것"이라고하면 EF 4.1의 새로운 DbContext
API를 의미한다고 생각합니다. DbContext
API가 아니라면 여전히 EDMX (디자이너)를 사용해야합니다.
당신은 사용할 수 있습니다 데이터 주석 (System.ComponentModel.DataAnnotations
) : KeyAttribute
및 ForeignKeyAttribute
:
public class Registry
{
public virtual int Id { get; set; }
public virtual MyEntity MyEntity { get; set; }
}
public class MyEntity
{
[Key, ForeignKey("Registry")]
public virtual int RegistryId { get; set; }
public virtual Registry Registry { get; set; }
}
아니면 유창 API (파생 맥락에서 OnModelCreating
를 오버라이드)를 사용할 수 있습니다 :
(편집 : 유창지도했다 MyEntity
당신의 엔티티가
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<MyEntity>()
.HasKey(e => e.RegistryId);
modelBuilder.Entity<MyEntity>()
.Property(e => e.RegistryId)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
modelBuilder.Entity<MyEntity>()
.HasRequired(e => e.Registry)
.WithRequiredDependent(r => r.MyEntity);
}
인 경우) 반전과 불완전 FK 및 Registry
은 1 : 1 관계의 주체입니다.
관련 문제
- 1. Entity Framework의 고유 키 문자열
- 2. Entity Framework의 외래 키 관계
- 3. Entity Framework의 고유 키 업데이트
- 4. Entity Framework의 새 개체 - 기본 키 문제
- 5. Entity Framework의 이해 4.1 규약
- 6. Entity Framework의 ReferentialConstraint
- 7. Entity Framework의 EntityCommandExecutionException
- 8. Entity Framework의 MERGE
- 9. Entity Framework의 POCO
- 10. Entity Framework의 선택적 열
- 11. Entity-framework의 컨텍스트 처리
- 12. Entity Framework의 메서드 만들기
- 13. Entity Framework의 감사
- 14. Entity Framework의 선택적 열망로드
- 15. Entity Framework의 "like"쿼리
- 16. Entity Framework의 정수 목록
- 17. Entity Framework의 ESQL
- 18. Entity Framework의 외래 키 필드에 데이터를 추가하려면 어떻게합니까?
- 19. Entity Framework의 모든 키 속성에 대한 매핑을 지정해야합니까?
- 20. SQL 또는 Entity Framework의 버그?
- 21. Entity Framework의 DeleteObject가 전체 테이블을로드합니까?
- 22. Entity Framework의 유지 관리 작업
- 23. Entity Framework의 유창한 API는 무엇입니까?
- 24. Entity Framework의 저장 프로 시저
- 25. Entity Framework의 데이터베이스 액세스 문제.
- 26. Entity Framework의 동일한 테이블 관계
- 27. Entity Framework의 범주 트리 선택
- 28. Entity Framework의 HierarchyID가 작동하지 않습니다.
- 29. Entity Framework의 개체 컨텍스트에 개체 트리 연결
- 30. Entity Framework의 조각 매핑에 문제가 있습니다.
@Hi Ladislav : 일대 다 관계가 있다면 어떨까요? – DotnetSparrow
MyEntity의 일대 다 기본 키가 외래 키가 될 수 없습니다. 다른 FK 속성이나 FK 속성이 없어야합니다. –
@Ladislav : [Foreignkeyy ("")]를 사용하려고하면 열 이름을 묻습니다. 그 안에 레지스트리 또는 레지스트리 엔티티의 ID를 제공해야합니까? – DotnetSparrow