your programing

저장 프로 시저 및 EDMX 업데이트

lovepro 2020. 12. 26. 16:15
반응형

저장 프로 시저 및 EDMX 업데이트


저장 프로 시저와 EDMX에 끝없는 문제가 있습니다. 프로 시저를 만들고 데이터베이스에서 모델을 업데이트하고 모두 작업했습니다. 그런 다음 열을 제거하고 저장 프로 시저에 새 열을 추가했습니다. 모델을 업데이트했지만 EDMX가 proc 정의를 새로 고치지 않는 것 같습니다.

proc을 삭제하고 업데이트를 수행했지만 proc에 대한 모든 참조를 수동으로 삭제해야했습니다. 나는 proc의 이름을 바꾸고 데이터베이스에서 모델 업데이트를 통해 가져 왔습니다.

나는 똑같은 문제가 있었다. 새 열을 추가하고 기존 열의 이름을 변경했습니다. 데이터베이스의 업데이트 모델을 통해 EDMX를 새로 고쳤지만 EDMX에는 변경 사항이 없었으며 분명히 런타임에 실패했습니다. Entity Framework에서 저장 프로 시저 업데이트를 어떻게 수행해야합니까?

여기에 이미지 설명 입력

proc을 제거하고 모델을 재생성하고 proc에 대한 'cs'파일을 삭제하고 컴파일 한 다음 데이터베이스에 프로 시저를 다시 추가하고 모델을 재생성하고 쾅! 동일한 모델을 3 번 추가하고 마지막 하나만 옳습니다. 왜 계속 이전 버전을 다시 가져 오나요?


(이 솔루션은 EF 6 용입니다. 다른 EF 버전에서는 시도하지 않았습니다. 잘 작동합니다.)


모델 브라우저로 이동하십시오. MyStoreProc는 저장 프로 시저의 이름입니다 (예 :). MyStoreProc는 3 곳에 나타납니다.

  1. 1 위-Under Complex Types-> as MyStoreProc_result
  2. 2 위-Under Function Imports-> as MyStoreProc
  3. 3 위-Under Stored Procdures / Functions-> as MyStoreProc

모델에서 세 가지를 모두 삭제합니다. edmx를 저장합니다 (창을 클릭 한 다음 ctrl + S). 그런 다음 마우스 오른쪽 버튼을 클릭하고 데이터베이스에서 모델 업데이트를 클릭합니다. 그런 다음 업데이트 된 저장 프로 시저를 추가하고 다시 저장합니다.

번거 로움없이 해결 :)


edmx 파일의 기존 저장 프로 시저를 새로 고치려면

  1. "모델 브라우저"> "함수 가져 오기"로 이동하여 원하는 저장 프로 시저 클래스 찾기> 마우스 오른쪽 단추를 클릭하고 "편집"을 클릭하십시오.
  2. "Edit Function Import"폼의 "Returns a Collection Of"섹션에서 "Update"버튼을 클릭합니다.
  3. "확인"을 클릭하여 새로 고침을 마칩니다.

여기에 이미지 설명 입력


내가 찾은 유일한 수정 사항은 EDMX를 닫고 XML을 수동으로 편집하는 것입니다. 데이터베이스에서 저장된 proc을 제거하고 데이터베이스에서 모델을 업데이트 한 후에도 여전히 proc에 대한 언급이있었습니다. XML에서 줄을 제거하면 문제가 해결되었습니다.


이 단계를 따르세요:

1 단계 : Edmx 열기

여기에 이미지 설명 입력

2 단계 : 모델 브라우저 열기

여기에 이미지 설명 입력

3 단계 : 복합 유형을 열고 procedure_Result

여기에 이미지 설명 입력

4 단계 : 함수 가져 오기를 열고 procedure

여기에 이미지 설명 입력

5 단계 StoredProcedur 및 Functions를 열고 procedure

여기에 이미지 설명 입력

6 단계 : Edmx를 저장 (Ctrl+S), Clean Solution , Update Model From Database하고 procedure업데이트하려는 항목을 선택한 다음 마지막으로 clean, build솔루션 선택하십시오 . 완료!


먼저 "데이터베이스에서 모델 업데이트"를 통해 SP를 새로 고치십시오. 작동하는 경우 정상이고 동일한 예외가 발생하면 아래에 제공된 단계를 따르십시오. 1. .edmx 파일을 두 번 클릭합니다. 2. 모델 브라우저에서 복합 유형, 함수 가져 오기 및 저장 프로 시저 / 함수에서 SP를 삭제합니다. 3. 모두 저장. 4. "데이터베이스에서 모델 업데이트"를 통해 SP를 다시 추가합니다. 5. 모두 저장.

참조 URL : https://stackoverflow.com/questions/18038405/stored-procedures-and-updating-edmx

반응형