2013-10-29 3 views
0

기술 사용 :기존 DB에 EF 4.4를 사용하여 POCO에서 데이터베이스를 업데이트하는 방법은 무엇입니까?

  • SQL 서버 2012
  • ASP.NET MVC 4
  • EF 4.4
  • 윈도우 8 프로 (dev에 기계)
  • 윈도우 서버 2012

I을 EF에서 데이터베이스 업데이트를 처리하지만 EF를 사용하지 않고 마이그레이션없이 소수의 사람들이 짧은 시간을 보냈습니다. 우리는 생산에 들어갔고 약간의 사후 변화가 필요했습니다. 마이그레이션이없는 EF는 더 이상 테이블을 떨어 뜨릴 수없는 상황을 복잡하게 만들었습니다. 우리는 시간이 부족했기 때문에 통합 (Database.SetInitializer<Context>(null);)을 비활성화하고 모든 변경 (DB 및 POCO)을 손으로 결정했습니다.

이제 해당 기능을 다시 활성화해야합니다. 제 질문은 이 환경이 이미 설정되어 있고 많은 데이터가있는 마이그레이션을 활성화 할 수 있습니까??

나는 어떤 성공이 기사를 읽었습니다 : 내가 어떤 도움을 주셔서 감사합니다

http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx

.

답변

1

생산 환경을 대신 업데이트하려면 SQL Server Data Tools을 사용하는 것이 좋습니다. 엔티티 프레임 워크가 생성 한 것 (예 : 저장 프로 시저) 이상의 제어 기능을 제공합니다.

변경된 내용을 모르는 경우 에서DbContext으로 새 (빈) 데이터베이스를 만듭니다. 그런 다음 SSDT를 사용하여 새로 생성 된 데이터베이스와 프로덕션 데이터베이스를 비교합니다. 데이터베이스 스키마에서 변경 한 내용이 표시되고 업데이트 스크립트가 제공됩니다. 기존 데이터를 기반으로 데이터 비교 및 ​​ '스마트 삽입'도 지원됩니다.

+0

좋아,이 현재 데이터베이스를 업데이트하는 내 문제를 해결합니다. 그러나 나는 또한 EF가 이것을 지금부터 처리하도록하고 싶다. 이제 어떻게 마이그레이션 할 수 있는지 알 수 있습니까? 감사. – eestein

관련 문제