2013-03-11 2 views

답변

1

edmx 파일에는 어셈블리 이름이 없습니다. edmx 파일에서 생성 된 코드는 edmx 파일이 포함 된 프로젝트의 일부가되므로이 프로젝트를 위해 컴파일 된 어셈블리의 일부가됩니다. 부분 클래스는 대부분 컴파일러 트릭이며 부분 클래스를 컴파일하면 컴파일러는 모든 부분 클래스를 하나로 결합하고 어셈블리에서는 항상 하나의 클래스 만 갖게됩니다.

+0

감사합니다. .edmx가 동일한 Visual Studio 프로젝트 아래에있는 한 동일한 어셈블리 아래에 있습니다. 내 부분 클래스는 자동 생성 속성 (Intellisense가 표시되지 않음)에 액세스 할 수 없으므로 네임 스페이스에 문제가 있어야합니다. .edmx CSDL 내용 Nuts

+0

모델에 대해 생성 된 cs 파일을 열고 거기에서 네임 스페이스를 복사하십시오. 참조가 정확하더라도 Intellisense에서 아무 것도 표시하지 않은 경우도 있습니다. 정말로 참조가 누락되어 있는지 확인하려면 프로젝트를 컴파일하고 오류가 있는지 확인해야합니다. – Pawel

1

부분 클래스가 작동하려면 모든 부분 클래스가 동일한 어셈블리 및 동일한 네임 스페이스에 있어야합니다. 귀하의 경우 Entity Data 모델에 Foo라는 클래스가 있다고 가정합니다. 자,이 Foo 클래스는 .edmx 파일에있는 부분 클래스입니다. 또한이 부분 클래스를 Bar라는 추가 속성으로 확장하려고한다고 가정합니다. 당신이해야 할 일은 Foo라는 이름의 부분 클래스를 같은 어셈블리 나 .edmx 파일을 포함하는 프로젝트와 동일한 프로젝트에 새로 만들고 Foo의 부분 클래스 구현에 새로운 속성 Bar를 추가하는 것입니다. 또한 Bar 속성을 포함하는 새 부분 Foo 클래스는 .edmx 파일에있는 Foo 부분 클래스와 동일한 네임 스페이스에 있어야합니다.

이 정보가 도움이되기를 바랍니다.