2011-08-01 4 views
0

EF 4.1 Update 1에서 MySQL과 6.4.3 .NET 커넥터로 코드를 사용하고 있습니다.(0x80004005) : 'ModelHash'열의 열 길이가 너무 큼

MySql.Data.MySqlClient.MySqlException (0X80004005) : 나는 다음과 같은 예외가 얻을 너무 열의 큰 열 길이를 'ModelHash'(최대 = 21845); 대신 BLOB 또는 TEXT 사용

대신 텍스트를 사용하도록 EF에 지시 하시겠습니까?

public class YourDbContext : DbContext 
{ 
    protected override void OnModelCreating(DbModelBuilder modelBuilder) 
    { 
     base.OnModelCreating(modelBuilder); 
     modelBuilder.Entity<YourEntityType>().Property(e => e.ModelHash).HasColumnType("TEXT"); 
    } 
} 

또는 데이터 주석

public class YourEntityType 
{ 
    [Column(TypeName = "TEXT")] 
    public string ModelHash { get; set; } 
} 

로를하지만 그것이, ModelHash이 열 아니라고 몇 가지 의심을 가지고 :

답변

2

당신은 매핑 데이터베이스 유형을 변경할 수 있습니까? EdmMetadata 테이블의 열과 같아서 이런 경우에는이 방법으로 제어 할 수 없을 것입니다. 그것은 EF 나 MySQL 커넥터 중 하나의 버그 일 것입니다.

+0

예 내 열이 아니며 실제로는 EdmMetaData입니다. 그래서 나는 여전히 해결책이나 해결책을 찾고있다. 나는이 문제를 가진 유일한 EF/MySQL 사용자라고 믿을 수 없다. :-) – TheEdge

관련 문제