2011-08-03 2 views
2

바이트 필드로 변환되는 tinyint로 표시된 약 12 ​​개의 필드가 있습니다. 나는 정수와 상호 작용하기 위해 내 코드에서 int로 형변환을 많이해야한다는 것을 알고있다.MSSQL/C# EF - tinyint를 int로 매핑 하시겠습니까?

이 때문에, 엔티티 프레임 워크를 바이트 대신 정수로 읽도록 변경하려고합니다. 내가 tinyint의 범위를 벗어나는 정수를 전달할 수있는 기회 외에도 이것의 의미가 있습니까? 나는 단지 내가 필요로하지 않을 수도있는 곳에서 캐스팅을 추가 할까?

(이 DB 높은 사용 될 수 없습니다 때문에 나는 또한, 단지 대신 데이터베이스에 정수를 사용하여 생각 해요.)

편집

에서 아래 자크의 코멘트/Entity Framework Mapping SQL Server tinyint to Int16 - 그것은 단지 정수에서 바이트로 속성을 변경할 수없는 것 같습니다? EF에서 오류가 발생합니까? 그래서 내가 생각하는 것을 할 수있는 방법이 있습니까?

+3

한 눈에보기 http://stackoverflow.com/questions/5863162/entity-framework-mapping-sql-server-tinyint-to-int16 – V4Vendetta

+0

감사합니다. 내 질문을 수정했습니다 :-). – bryanjonker

답변

0

이 컴파일러는 실제로 정수를 최적화 당신이 정수를 사용하면 정말 어떤 문제가 사용되어서는 안된다 (내가 잘못 아니에요.)

최선을 int로 바이트에서 데이터베이스 값을 변경하는 것 . IMHO.

+0

@Marc Gravell, 미안, 생각하고 쓰는 것이 때로는 다른 두 가지로 나옵니다. Int가 최적화되면서 Int 대신 Int를 짧게 사용해야한다고 들었습니다. 이 올바른지? – Jethro

+0

컨텍스트에 따라 다릅니다. 배열은 변수와 다릅니다 (예 :). 패딩이 시작되면 필드가 까다 롭습니다. 일리노이 레벨에서 스택에로드되면 거의 동일하지만 아마도 'int'는 확장 할 필요가 없으므로로드가 더 쉬울 것입니다. 하지만 병목 현상이 발생하지는 않습니다. 더 큰 문제는 매우 가능성이 큰 "unbox"입니다. 유형이 일치하지 않으면 키커입니다. –

+0

작은 공과를 가져 주셔서 감사합니다. 매우 감사. – Jethro

관련 문제