기존 데이터베이스에 대해 코드 우선을 사용하는 EF 4.4 (.NET 4.0 버전 EF 5.0)를 사용하는 하나의 웹 사이트가 있습니다. 모델 유형의 케이스 문제로 인해 해결 방법이 필요한 Devart Oracle 데이터 공급자를 사용합니다.Dev First에서 Code First와 Database First Entity Framework 사용
그러면 Devart 공급자가 소문자 데이터 형식을 인식하여 스키마를 해석합니다. (또는 그 라인을 따라 무언가)
이 웹 사이트 내에서 EF 4.1 Database First (기존 데이터베이스와 비교하여)를 기반으로 구축 된 컨트롤이로드를 시도 할 때까지 제대로 작동합니다. Devart 공급자는 웹 사이트에서 공유되는 것으로 보이며 코드 우선으로 작동하도록 이전 해결 방법을 사용했기 때문에 공급자가 모든 대문자로 데이터 형식을 (올바르게) 인식 할 수 없다는 오류가 발생합니다.
해결 방법이 있습니까? 아니면 데이터베이스 우선 접근 방식을 코드 우선으로 변환해야합니까?
편집 : 여기에 관련된 해결 방법 코드가 있습니다. 나는 그것을 얻은 포럼 게시물을 잃어 버린 것 같다. 나는 믿는다는 Devart 포럼에 있던 :
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var config = Devart.Data.Oracle.Entity.Configuration.OracleEntityProviderConfig.Instance;
config.Workarounds.ColumnTypeCasingConventionCompatibility = true;
... initialization code here ...
base.OnModelCreating(modelBuilder);
}
및 관련 오류를 이것이다 :
System.Data.MetadataException: Schema specified is not valid. Errors:
Model.ssdl(205,6) : error 0040: The Type CHAR is not qualified with a namespace or alias. Only primitive types can be used without qualification.
Model.ssdl(206,6) : error 0040: The Type VARCHAR2 is not qualified with a namespace or alias. Only primitive types can be used without qualification.
이 잔뜩 더 많은,하지만 그들은 서로 다른 라인과 데이터 형식 모두 같은 오류가있어 .
오류를 게시 할 수 있습니까? – jackncoke