Entity Framework 7 마이그레이션 : 길이가 1보다 큰 varchar 열을 얻는 방법?

code-first-migrations entity-framework-core maxlength sql-server varchar

문제

나는 다음과 같은 것을 가지고있다.

[Table("Countries")]
public class Country
{
    public int CountryId { get; set; }

    [MaxLength(255), Required]
    public string CountryName { get; set; }

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

마이 그 레이션을 적용 할 때마다 CountryCode는 최대 길이가 1 인 varchar 열이됩니다. MaxLength 주석을 255로 설정하고 최대 길이를 1로 늘려 보았습니다. 열이 nvarchar로 설정된 경우 예상대로 작동합니다. 내가 뭔가 잘못하고 있는거야?

편집 : 명시 적으로 문자열 데이터 형식을 설정할 때마다 길이 1로 설정합니다. Column (TypeName = "nvarchar")을 사용하고 길이를 1로 설정할 수있었습니다.

수락 된 답변

데이터 주석을 사용하고 싶었지만 다음과 같이 작업 할 수있었습니다.

 builder.Entity<Country>()
            .Property(e = e.CountryCode).HasSqlServerColumnType("VARCHAR(30)");

Entity Framework 7에서는 데이터 주석이 아직 완전히 구현되지 않았습니다. ASP.NET MVC와 같은 다른 프레임 워크에서 주석을 사용하도록 Entity Framework에 주석을 추가 할 수 있지만 Entity Framework에서는 이러한 주석을 처리하지 않습니다. GitHub 에서 데이터 어노테이션에 대한 지원을 추적 할 수 있습니다 .

http://ef.readthedocs.org/en/latest/modeling/configuring.html




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.