2011-01-02 3 views
1

mysql에서 unsigned int 유형의 필드를 선언했습니다. 그들은 INT (10) UNSIGNED가 기본값입니다. 내 C# 코드에서이 값을 uint 형식으로 읽으려고하면 "long을 uint로 변환 할 수 없습니다"라는 오류가 발생합니다. 여기에 누락 된 것이 있습니까? 나는 BIGINT가 길었고 int (unsigned)라고 생각 했었다고 생각했다. (나뿐만 아니라 UINT32 시도 EmpIDuint로 나는 선언unsigned int mysql in C#

from employee in model.employees 
select new EmployeeEntity { 
    EmpID = employee.EmpID, 
    FirstName=employee.FirstName 
}; 

EmpID이 MySQL을

EmployeeEntityUNSIGNED INT 10로 선언 된 코드를 ... 값을 읽을 감사

하는 엔티티 프레임 워크를 사용하고 있습니다). EF의 제공에 문제가 같은 그러나 라인

할당 "다는 EmpID = employee.EmpID"나에게 오류를 제공합니다 ...

+0

코드를 입력하십시오. – SLaks

+0

어떤 EF 제공 업체를 이용하고 있습니까? – citronas

+0

이 코드 스 니펫을 포함하도록 게시물을 편집했습니다. – user275157

답변

0

제공 업체 문제입니다. 그것은 DBMS와 오류가있는 응용 프로그램 사이의 유형을 변환합니다. 그들의 지원을 요청하거나 공급자를 변경하는 것이 좋습니다.

저는 - 저는 Devart dotConnect for MySQL을 사용하고 있습니다. 해당 매핑 테이블은 여기에서 제공됩니다. http://www.devart.com/dotconnect/mysql/docs/DataTypeMapping.html

+1

공급자 문제일까요? - 다음은 여전히 ​​이것을 지원하지 않는 Entity Framework의 기능 요청입니다. 따라서 문제가 지속성 공급자의 문제가 아니라는 것을 나타내지는 않습니다 (따라서 사용 가능한 경우 다른 것으로 전환하여 해결할 수 없음). 일반적으로 EF에서 위의 한 수준? https://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/2085127-support-unsigned-integer-eg-uint-properties-an – juniper

+0

또한 SQL Anywhere와 비슷한 문제가 있습니다. ,하지만 쓰기 (독서도 prob 있었지만 기본 키에 대해서만 우리는 그것을 해결할 수 있습니다) : http://stackoverflow.com/questions/17142250/ef-4-0-30319-sql-anywhere-11-0 -1-writing-uint-column-fails. 그 동안 더 이상의 통찰력을 가지고 있었고 어떻게 해결할 수 있었는지 알 수 있습니까? – juniper

0

소리. 값이 단순히 long으로 검색되는 것일 수 있습니다. 그러나 당신이 그것의 단위를 알고 있기 때문에 당신은 그것을 오랫동안 간단하게 던질 수 있습니다. 그러나 형식을 올바르게 매핑하는 최신 버전의 EF Provider가 있는지 확인하십시오.

+0

ASP.net 4.0 엔티티 프레임 워크를 사용하고 있습니다. – user275157

+0

그리고 최신의 MySQL 커넥터. 6.3.5 – user275157

+0

안녕하세요 @ ttziolis, 나는 SQL Anywhere와 비슷한 문제가 있지만 작성에 관한 : http://stackoverflow.com/questions/17142250/ef-4-0-30319-sql-anywhere-11-0 -1-writing-uint-column-fails 그 동안 더 이상의 통찰력을 가지고 있었고 어떻게 해결할 수 있었는지 알 수 있습니까? – juniper