

# DynamoDB에서 .NET 문서 모델을 사용하여 작업
<a name="DotNetSDKMidLevel"></a>

AWS SDK for .NET은 일부 하위 수준 Amazon DynamoDB 작업을 래핑하여 코딩을 더 간단하게 만드는 문서 모델 클래스를 제공합니다. 이 문서 모델에서 기본 클래스는 `Table` 및 `Document`입니다. `Table` 클래스는 `PutItem`, `GetItem` 및 `DeleteItem`과 같은 데이터 작업 메서드를 제공합니다. 또한 `Query` 및 `Scan` 메서드를 제공합니다. `Document` 클래스는 테이블의 단일 항목을 나타냅니다.

위의 문서 모델 클래스는 `Amazon.DynamoDBv2.DocumentModel` 네임스페이스에서 사용할 수 있습니다.

**참고**  
이 문서 모델 클래스를 사용하여 테이블을 생성, 업데이트 및 삭제할 수 없습니다. 그러나 이 문서 모델은 대부분의 일반적인 데이터 작업을 지원합니다.

**Topics**
+ [지원되는 데이터 유형](#MidLevelAPILimitations.SupportedTypes)

## 지원되는 데이터 유형
<a name="MidLevelAPILimitations.SupportedTypes"></a>

문서 모델은 기본 .NET 데이터 형식 및 컬렉션 데이터 형식 세트를 지원합니다. 모델이 지원하는 기본 데이터 유형은 다음과 같습니다.
+ `bool`
+ `byte` 
+ `char`
+ `DateTime`
+ `decimal`
+ `double`
+ `float`
+ `Guid`
+ `Int16`
+ `Int32`
+ `Int64`
+ `SByte`
+ `string`
+ `UInt16`
+ `UInt32`
+ `UInt64`

다음 표에서는 앞서 나온 .NET 형식을 DynamoDB 형식으로 매핑하는 것을 요약하여 보여 줍니다.


****  

| .NET 기본 유형 | DynamoDB 형식 | 
| --- | --- | 
|  모두 숫자 형식  |  `N`(숫자 형식)  | 
|  모든 문자열 형식  |  `S`(문자열 형식)   | 
|  MemoryStream, byte[]  |  `B`(이진수 형식)   | 
| bool | N(숫자 형식). 0은 false를 나타내고 1은 true를 나타냅니다. | 
| DateTime | S(문자열 형식) DateTime 값은 ISO-8601 형식의 문자열로 저장됩니다. | 
| Guid | S(문자열 형식) | 
| 컬렉션 유형(List, HashSet 및 array) | BS(이진수 세트) 형식, SS(문자열 세트) 형식, 그리고 NS(숫자 세트) 형식 | 

AWS SDK for .NET은 DynamoDB의 부울, null, 목록 및 맵 형식을 .NET 문서 모델 API에 매핑하기 위한 형식을 정의합니다.
+ 부울 형식에 `DynamoDBBool`을 사용합니다.
+ null 형식에 `DynamoDBNull`을 사용합니다.
+ 목록 형식에 `DynamoDBList`를 사용합니다.
+ 맵 형식에 `Document`를 사용합니다.

**참고**  
빈 이진수 값이 지원됩니다.
빈 문자열 값 읽기가 지원됩니다. DynamoDB에 쓰는 동안 문자열 집합 형식의 속성 값에서 빈 문자열 속성 값이 지원됩니다. 문자열 형식의 빈 문자열 속성 값과 목록 또는 맵 형식에 포함된 빈 문자열 값은 쓰기 요청에서 삭제됩니다.