0

전체 기본 키로 생성 된 데이터베이스 우선 모델이 있습니다. 데이터베이스의 첫 번째 모델은 정상적으로 작동합니다. 그러나 이제 Entity Framework 4.3을 업그레이드했습니다. EF와 함께 제공되는 표준 T4 템플릿을 수정했습니다.Entity Framework 4.3 클래스 생성을위한 T4 템플릿 수정

이제 프로젝트에 Add-Migration 초기를 사용하면 내 엔티티에 정의 된 기본 키가 없다는 불만이 있습니다. 사실이 아닌 (또는 어느 정도까지) ... 더 깊게 보아 EF가 모든 핵심 요소에 [Key, Column(0)]을 정의 할 것으로 기대하는 합성 키가 있습니다.

System.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'SupplierWarehouses' is based on type 'SupplierWarehouses' that has no keys defined. 

내가 T4 템플릿 (DbContext)의 WriteProperty 방법을 수정하려고하고 System.Data.Metadata.Edm.EdmProperty 객체에는 Entity Key 재산권 없을 것 같다됩니다 직면하고 문제. 이제이 속성은 Visual Studio Model Editor에서 표시되므로 Theory가 있어야합니다.

일부 사람이 나를 도울 수있는 경우에 감사합니다.

Sanj.

답변

0

내가 알아 낸 것 System.Data.Metadata.Edm.EdmProperty이 속성이 없으므로 System.Data.Metadata.Edm.EntityType에서 참조해야합니다. 실제 속성은 KeyMembers입니다.

T4 WriteProperty으로 변경하여 Entity Object를 수락하고 이제는 아름다움으로 작동합니다.