2013-01-18 2 views
2

SQLMetal을 사용하여 LINQ to SQL DBML 파일을 생성하고 있습니다. 생성 된 모든 코드가있는 ".designer"파일도 생성합니다.FX Cop의 코드 속성 생성

많은 문제가있을 경우 FX Cop이 신고하는 클래스와 속성이 있습니다.

FX Cop에서 케이스 문제를 억제하는 방법을 확인하는 방법에 대해서는 this 스택 오버플로 게시를 따랐습니다. 그게 효과가있는 것 같지만 지금은 designer 파일 안의 각 클래스에 "코드 생성"속성을 추가하는 방법을 알 수 없습니다.

특정 CS 파일을 전체적으로 무시할 수 있습니까?

답변

1

모든 DatabaseAttributes 및 TableAttributes에서 찾기/바꾸기를 수행하는 매크로로이 문제를 해결했습니다. 이것들을 GeneratedCode 속성으로 바꾸고, 그 뒤에 개행 문자와 그 다음에 원래의 행을 추가합니다. .designer 파일의 각 클래스는 이러한 속성 중 하나에서 시작하여 매크로가 모두 가져옵니다. 이상적인 솔루션은 아니지만 DBML을 수정할 때마다 GeneratedCode 속성을 각 클래스에 수동으로 추가하는 것보다 낫습니다.

1

현재 프로젝트에서 잠시 sqlmetal을 사용하지 않고 t4 templates (으)로 전환했습니다. 우리는 생성 된 코드를 완벽하게 제어 할 수 있으며 그 결과가 훨씬 행복합니다. 우리는 우리 자신을 굴 렸지만 좋은 예가 많이 있습니다.

이 부분은 codeplex입니다. 조금 오래되었지만 좋은 출발점이 될 수 있습니다.

old post by Oleg Sych은 확인해 볼 가치가 있습니다. 그는 T4 전문가입니다.