2
내 문제는 내가 기존 DB에서 내 엔티티를 가져와야한다는 것입니다. DB에는 스키마가 있으며 일부 테이블은 다른 스키마에서 동일한 이름을 공유합니다. 이것이 모델을 생성 할 때 MyTable과 MyTable1을 얻습니다 (호출 된 경우).클래스 이름 접두사 dbSchema 엔터티 프레임 워크
dbo 스키마를 사용하는 경우 이름을 MyTable로 지정하고 다른 스키마에서는 접두사로 스키마 이름을 사용합니다 (예 : MySchema_MyTable.
디자이너에서 이름을 변경하여이 작업을 수동으로 수행 할 수 있지만이 작업은 전적으로 혼자서 수행되지 않을 수 있으며 더 많은 테이블과 스키마가이 데이터베이스에 추가됩니다. 그래서이 명명 규칙을 시행하고 싶습니다.
t4 템플릿을 사용하는 것이 가장 좋은 방법이라고 생각했습니다. 나는 쉽게 그것을 접두어를 추가하기 위해 변경할 수 있으며이 작동하지만, 특정 엔터티에 대한 데이터베이스 스키마 이름을 얻는 방법을 모르겠습니다. T4 템플릿은 인텔리 센스와 함께 제공되지 않습니다.
귀하의 제안에 감사드립니다.
감사합니다,
귀하의 질문에 명확하지 않습니다. 데이터베이스의 모든 테이블을 탐색하고 스키마 이름을 포함하여 "완전히 범위가 지정된"이름을 결정한 후 완전히 범위가 지정된 이름을 사용하여 코드를 생성하는 T4 템플릿을 작성 하시겠습니까? 또한, 어떤 데이터베이스를 사용하고 있습니까? –
네, 요약하면 데이터베이스의 모든 테이블을 통과하여 각 테이블을 나타내는 클래스를 만들길 원합니다. 이 클래스의 이름은 "<데이터베이스 스키마 이름> _
[T4 템플릿 생성 열거 형] (http://stackoverflow.com/a/4480173/1380680) 및 [이 블로그 게시물] (http://blog.sqlauthority.com/2009/06)에 대한 위대한 답변을 확인하십시오./17/sql-server-list-schema-name 및 데이터베이스 용 테이블 이름 /). 이 둘을 결합하면 SQL Server를 사용하는 경우 찾고있는 것을 얻을 수 있거나 특정 DB에 맞게 조정할 수 있습니다. 그게 전혀 도움이 되나요? –
답변
당신은 TiraggoEdmx를 사용하여 데이터베이스 정보를 얻을 수 있습니다. http://brewdawg.github.io/Tiraggo.Edmx/을 참조하십시오. Visual Studio에서 NuGet을 통해 설치할 수 있으며, Microsoft에서 숨긴 EDMX 파일의 모든 메타 데이터를 제공합니다. 매우 간단하고 훌륭하게 작동합니다.
출처
2013-09-23 01:04:15
관련 문제