2011-08-23 2 views
5

저는 EF 4 (현재 자체 추적 엔티티가 아닌)와 함께 작업합니다. 내 엔티티 중 하나에 일부 열 (키가 아니고 모두 null 허용)이 추가되었으며 Number of members in conceptual type does not match with number of members on object side type 예외가 발생했습니다.
나는 수락 한 대답 here을 따라 갔지만,이 엔티티가 더 이상 내 edmx에 나타나지 않는다는 것이 전부입니다. DB에서 다시 추가했지만 동일한 예외가 계속 발생합니다.
문제는 내가 실행중인 어셈블리 디렉토리에 csdl/ssdl/msl 파일을 복사했다는 것입니다. 나는 업데이트 된 파일을 복사하고 싶지만 다시 생성하지는 않습니다 (이전에 EF 프로젝트의 obj\Debug\edmxResourcesToEmbed 폴더에 생성되었습니다).
그런 파일을 다시 만들 수있는 방법은 없나요?
감사합니다.엔티티 프레임 워크 - csdl, ssdl 및 msl 파일을 만듭니다.

P.S : 과도한 양의 코드를 게시하고 싶지는 않지만 아직 아무것도 추가하지 않았지만 필요한 정보를 추가하게되어 기쁩니다. 정확히 무엇이 필요한지 잘 모르겠습니다. 당신이 CSDL을 만들려면

+0

[Noich] (https://stackoverflow.com/users/427653/noich)와 동일하게 '출력 어셈블리에 포함하기'를 선택하는 대신 '출력 디렉토리로 복사'를 선택하고 저에게 맞았습니다 –

답변

15

그래서, SSDL AMD MSL 파일은 다음을 수행

  1. 이동하여 edmx 파일에.
  2. 모델을 표시하는 GUI 화면을 클릭하십시오. 속성 창에
  3. 스위치 (나는 그것이 바로 솔루션 탐색기에서 파일을 클릭하여 GUI 영역에서 액세스 할 필요가 아닌 것을 알고하지 않았다. Metadata Artifact Process에서
  4. Embed in Output Assembly을 선택합니다.

완료 및 완료되면 파일은 obj 또는 obj\x86 아래의 Debug\edmxResourcesToEmbed에 표시되며 빌드 정의에 따라 달라집니다.
설명하는 것이 간단 해 보이지만 미안합니다. 이러한 지시가 필요합니다 (msdn은 좋지 않았습니다. 도움) 다른 사람들에게 도움이되기를 바랍니다.

+0

It 좋은 대답 그래서 나는 당신에게 투표를 줄 것이다 그것은 msdn에서 또는 아닙니다 사용할 수 있습니까? – urveshpatel50

+0

MSDN에 확실하지 않습니다. 얼마 전 이었지만, 제게 도움이되는 또 다른 개발자였던 것 같습니다. – Noich

+1

VS 게시를 사용하여 bin 디렉토리에 게시되지 않는 CSDL, MSL 및 SSDL 파일에 문제가있는 경우에도이 방법이 적용됩니다. :) –