2012-04-19 2 views
0

EF Codefirst를 조사 중입니다. 코드/SB 동기화 혜택이 마음에 들지만 테이블이 삭제되고 데이터가 손실된다는 문제가 있습니다. 사실 내 dev에 DB는 꽤 많은 테스트 데이터를 가질 수 있습니다. "테이블 변경"과 같은 "테이블 드롭"에 대한 대안이 없습니까?EF 코드 첫째, 테이블 놓기가 매우 과감한 것 같습니다.

그것은 EF 코드 우선에서 저를 끕니다.

감사합니다,

에드

답변

4

은 분명히 당신은 많은 조사를하지 않았다. 테이블을 삭제하지 않고 먼저 코드를 수행하는 방법은 수없이 많습니다 (수동으로 변경하는 등). 코드 첫 마이그레이션은 꽤 오래되었습니다.

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-automatic-migrations-walkthrough.aspx

이 일을 다른 방법에서 어떤 다른 것 아니에요. 먼저 Database를 사용할 때 데이터베이스를 수동으로 변경해야하며 Model First에서 데이터베이스를 다시 생성하려면 테이블을 삭제해야합니다.

처음에는 코드에 대해 구체적이거나 이상한 것은 없습니다. 모든 orm 기술에서 작동하는 방식입니다.

+0

감사합니다. 나는 EF와 MVC에 대해 배우고 있으며, 많은 자료는 EF4.1을 가리키고 있습니다. 이제 EF4.3을 사용해야합니다. DB 첫 번째 디자인 배경으로 내 자연스러운 성향은 DB 첫 번째 EF 접근 방식이지만, EF 코드 우선은 MVC3에서이를 수행하는 방법 인 것 같습니다. 그렇습니다. 이제는 "CF 마이그레이션"을 이해하여 " "DB를 삭제하는 것이 아니라이 포인터에 감사드립니다. – EdB

+0

@EdB - 요점은 모든 데이터베이스 기술에있어서 정상적인 것이며, 당신이 어떤 문제에 대해서도 똑같은 문제를 가지고 있기 때문에 코드를 먼저 뽑아서는 안됩니다. CodeCast는 "MVC3에서이를 수행하는 방법"이 아니라 코드를 작성하는 방법 중 하나 일뿐 아니라 새로운 기능이므로 많은 관심을받습니다. 어떤 방법을 사용 하시겠습니까? –

+0

동일한 클래스 파일에서 모든 유효성 검사 특성 및 데이터 정의를 관리하므로 더 나은 방법이라고 생각합니다. 그러나 DB 디자이너로서 E.Relationship 디자인 화면과 같은 것으로 DB 디자인 프로세스를 시작하는 것이 좋지만 모델 클래스 파일에 그대로 남아 있으므로 유효성 검사 속성을 덮어 쓰지 않도록주의해야합니다. 당신이 친밀 할 때, 그것은 다른 접근 방식으로 노는 사실일지도 모르고 저를 위해 맞은 무슨을보십시오. – EdB

관련 문제