2011-08-12 5 views
1

우리는 DB2 데이터베이스의 EF 모델을 가지고 있습니다.Entity Framework를 사용하여 데이터베이스 구조 마이그레이션

이 모델을 사용하여 SQL Server 데이터베이스를 생성 할 수 있습니까? 그런 다음 DB2와 SQL Server간에 전환 하시겠습니까?

우리는 개발자가 로컬 SQL Server 데이터베이스에 대해 개발할 수 있다고 생각했습니다.

EF 4.1을 사용합니다.

답변

1

직접 필드 유형을 정의 할 경우 필드 유형에 문제가있을 수 있습니다. 저는 Sql-Oracle으로 그런 일을 해왔습니다. 결국에는 [VarcharAttribute]와 같은 사용자 지정 특성을 만들고 OnModelBuilder 함수에서 올바른 typename을 사용하도록 엔티티를 구성했습니다.

이 작동하지 않을 수 있습니다 :

[Column(TypeName="varchar")] 
public string Data{get;set;} 

를 Oracle 용은 다음과 같이해야하기 때문에 :

[Column(TypeName="VARCHAR2")] 
public string Data{get;set;} 

또한있을 수있는 다른 문제, 예를 들어 SQL - 오라클에서 테이블 이름을 병합 30 자 이상이었고 SQL에서는 작동했지만 오라클에서는 작동하지 않았습니다. 테이블 이름이 30 자로 제한 되었기 때문입니다.

그러나 이러한 문제를 해결하면 문제가 해결됩니다. 결국 우리는 config 파일에서 공급자를 설정할 수있었습니다.

그래서 데이터베이스의 차이

1

오래된 질문하지만 ... 돌볼 경우 예, 그것은 가능하다

당신은 IBM DB2 EF 제공자로 마이그레이션을 사용할 수 없습니다. DB2에 대한 (마이그레이션없이) EF 6 소개

은, 지금은 여기 EF 지원 http://www.nuget.org/packages/EntityFramework.IBM.DB2/
하지만 마이그레이션을 지원하지 않습니다 에 대한 공식 nuget 패키지를 찾을 수 있습니다 IBM

에 의해 지원됩니다. 마이그레이션이 필요하면

당신은
https://www.nuget.org/packages/System.Data.DB2.EntityFramework.Migrations/
당신은
https://db2ef6migrations.codeplex.com/

여기에 더 많은 정보를 찾을 수 있습니다 (이전 패키지에 추가) 또한이 패키지를 사용할 수 있습니다
관련 문제