2012-05-11 2 views
14

기존 데이터베이스에서 생성 된 작업 엔터티 모델로 응용 프로그램이 있습니다. 테이블과 컬럼 이름이 다르다는 것을 제외하고는 동일한 스키마를 사용하여 새 데이터베이스에서 응용 프로그램을 가리켜 야합니다.테이블 및 열 이름 매핑 변경 Entity Framework v4.3

예를 들어, 현재 스키마에 "Answer"와 같은 테이블이 있습니다. 필자가 지적해야 할 새로운 스키마는 "tblAnswer"라는 이름을 제외하고는 똑같은 테이블을 가지고 있습니다.

내 열도 변경되었습니다. "AnswerId"라는 칼럼에서 "zAnswerId"가되었습니다. "z"접두사에 대해 묻지 마십시오. 긴 이야기지만 모든 열에 있습니다.

그래서 기존 엔티티 모델 (데이터베이스에서 생성)을 새 데이터베이스로 지정하고 매핑을 조정해야하는 옵션은 무엇입니까? 나는 this guide에 설명 된대로 "코드 우선"매핑에 사용되는 기술 중 일부를 실험했지만 아무런 운이 없었습니다. 나는 이것이 올바른 접근인지 또는 더 의미가있는 것이 있는지 간단히 알지 못합니다.

제안 사항? 미리 감사드립니다.

답변

36

web.config 파일에서 데이터베이스를 변경할 수 있습니다.

데이터 주석을 사용하여 다른 테이블 및 열 이름을 사용하십시오. 예를 들어

: 당신의 빠른 응답

[Table("tblAnswer")] 
    class Answer 
    { 
     [Column("zAnswerId")] 
     public int AnswerId { get; set; } 
    } 
+0

감사합니다. 나는 당신의 제안을 지금 실행하려고 시도하고 있으며 곧 당신을 위해 응답을 할 것입니다. – letsgetsilly

+0

제안 사항을 구현했습니다. 내가 취한 조치는 다음과 같습니다. 1) 올바른 데이터베이스를 가리 키기 위해 app.config 파일을 업데이트합니다 (개념 증명을위한 테스트 프로젝트를 사용하고 있습니다). 2) 제안한 속성으로 부분 클래스 "답변"을 장식했습니다. 현재 "MetaDataException : 지정된 메타 데이터 리소스를로드 할 수 없습니다"메시지가 나타납니다. 내가 알지 못하는 것에서이 문제를 추적하기가 어렵습니다. 모든 제안을 부탁드립니다. 그러나 지금 당장이 문제를 해결하는 데 문제가 있습니다. 도움을 다시 주셔서 감사합니다 – letsgetsilly

+0

바머 그것이 작동하지 않습니다. 보다 포괄적 인 도움을 받으려면 Julia Lerman이 작성한 Programming EF Code First 사본을 준비하십시오. 어떻게 해결하는지, 행운을 비네 알려주세요. –

관련 문제