2013-09-28 2 views
0

처음에는 datafist 접근 방식을 사용하여 projct를 만들었지 만 지금은 데이터베이스 변경이 완료되고 새로운 요구 사항이 주어질 때마다 문제가있는 것 같습니다 .Edmx를 업데이트해야 할 때마다 edmx가 가끔 업데이트되지 않습니다. 전동 공구를 사용하여 datafirst 접근 방식을 모방 할 수있는 codefirst 접근 방식으로 되돌릴 수있는 방법이 있습니까? 사전EntityFramework 5 datafirst 접근

내가 edmx의 외부 엔티티 클래스와 함께 작동
+0

edmx를 업데이트 할 수있는 것처럼 데이터베이스에서 _code-first_ 모델을 업데이트 할 방법이 없습니다. –

+0

@GertArnold : 물론, 전동 공구에는 데이터베이스에서 모델을 재생성하는 "리버스 엔지니어 데이터베이스"가 있습니다. –

+0

@WiktorZychla 예, 가능하지만 edmx에서 가능한 기존 모델을 업데이트하지 않습니다. –

답변

0

에서

덕분에 나는 초기 클래스와 자신의 매핑을 생성하는 edmx를 사용합니다. 엔티티를 생성 한 후에 생성 된 코드를 이동합니다. 따라서 cs 파일의 코드를 복사하여 app_code (있는 경우) 또는 별도의 클래스 프로젝트에 붙여 넣을 수 있습니다. 또한 새 클래스 나 DLL을 가리 키도록 프로젝트의 참조를 변경해야합니다.

모델에 대한 후속 변경 사항이 "코드 우선"이며, 작동 시키려면 컨텍스트 클래스를 옮겨야한다고 추가해야합니다. 이것은 datafirst 접근법을 모방하는 방법이 아니며, 이것은 엄격하게 코드 첫 번째입니다.

+0

하지만 사람이 db를 변경 할 때마다 엔티티를 생성하거나 edmx.I를 업데이트 할 때마다 하나의 테이블에 db가 변경되면 많은 컨텍스트가있는 것을 생각하고있는 다른 방법이 있습니다. edmx 전체를 업데이트하거나 엔티티를 반복해서 생성합니다. – user2799183

+0

하나의 커다란 컨텍스트 대신 많은 컨텍스트가 있어야 확실히 갈 수 있습니다. 다른 것들은 대부분의 경우 매우 나쁜 습관입니다. 나는이 일을 자동으로 처리하는 방법을 모른다. (나는 너를 올바르게 이해하고있다.) 데이터베이스가 변경 될 때마다 변경 사항을 반영하기 위해 엔티티를 어떻게 든 업데이트해야합니다. – Louis

관련 문제