2011-02-14 5 views
1

Linq-To-SQL을 사용하고 있으며 각 엔티티에 인터페이스를 연결하고 싶습니다.DataContext 클래스에 인터페이스 추가

designer.cs 파일을 편집하여이를 수행 할 수 있습니다.

그러나 UI를 통해 dbml을 변경하면 전체 designer.cs가 다시 쓰여지고 변경 사항이 손실됩니다.

나는 그것을 다루어야 할 것인가, 아니면 주위를 둘러 쌀 수있는 방법이 있을까? 나는 designer.cs 파일에이 일을하고

합니다 (IMatchable 내의 사용자 지정 인터페이스) :

public partial class Error : INotifyPropertyChanging, INotifyPropertyChanged, IMatchable 
{ 
    ... 
} 

답변

5

디자이너 파일을 편집하지 마십시오; 부분 클래스의 아름다움은 그냥

public partial class Error : IMatchable 
{ } 

(우리가 필요한 인터페이스와 일치 특성을 갖는 덕분에 암시 적 인터페이스 implementaion를 사용하고 있다고 가정)와 별도의 파일을 만들 수 있다는 것입니다 VS2008을 사용하고 있는데도 MyClasses.dbmlMyClasses.designer.cs이있는 경우 이 아니라이라고하면이 파일을 MyClasses.cs이라고 부릅니다. VS2008에 버그가있어이 문제를 해결해야합니다 (을 계속 이동해야합니다. 네임 스페이스 또는 코드 생성기 중단 내에서지시문) - VS2010에서 고정. 그것은 단일 인터페이스가 있다면

또한, 모델의 모든 타입 구현, 당신은 DBML에서 개체의 기본 유형에 지정하여 부정 행위를 할 수 있습니다. 디자이너는이 옵션을 표시하지 않지만 수동으로 DBML을 편집하면 올바르게 작동합니다.

+0

나는 그것을 시험해 보았지만, 거기에 두는 인터페이스는 그만 두었다. (고맙다.) – Jason

+0

@Blankasaurus - 그 인터페이스가 이미 부분 클래스의 나머지 절반에 있다면, 다시 추가 할 필요가 없습니다. 문제가 해결되지 않으면 올바른 네임 스페이스에 있는지 확인하십시오. –

+0

완벽하게 정확히 찾고 싶습니다. 전에 시도했을 때 실제로 실패했습니다. 이 인터페이스의 네임 스페이스가 아니라 네임 스페이스가 아닙니다. – Jason

관련 문제