programing

Dapper를 사용하여 BINARY(16)를 GUID에 매핑하려면 어떻게 해야 합니까?

prostudy 2022. 9. 6. 21:36
반응형

Dapper를 사용하여 BINARY(16)를 GUID에 매핑하려면 어떻게 해야 합니까?

DB에 저장된 데이터가 있습니다.BINARY(16)dapper를 사용하여 데이터를 선택하고 모델 속성에 매핑하고 싶습니다.Guid어떻게 하면 좋을까요?

대퍼 1.50.4

데이터베이스 내의 모든 GUID가 BINARY(16)로 저장되어 있는 경우 커스텀타입 핸들러를 생성하여 바이너리 포맷을 GUID로 자동 변환합니다.예를 들어 다음과 같습니다.

class BinaryGuid {
  public Guid Guid;
  public BinaryGuid(byte[] binaryGuid) {
    <your-code-here>  
  } 
}

public class BinaryGuidHandler: SqlMapper.TypeHandler<BinaryGuid>
{
    public override Roles Parse(object value)
    {
        <your-code-here>
    }

    public override void SetValue(IDbDataParameter parameter, BinaryGuid value)
    {
        <your-code-here>
    }
}

Dapper가 사용할 수 있도록 등록합니다.

SqlMapper.AddTypeHandler(new BinaryGuidHandler());

이제 가도 돼

var r = conn.Query<BinaryGuid>("SELECT MyBinaryGuid FROM MyTable")

Dapper에서 커스텀 타입을 관리하는 방법에 관한 기사(및 샘플)를 작성했습니다.

https://medium.com/dapper-net/custom-type-handling-4b447b97c620

언급URL : https://stackoverflow.com/questions/50533382/how-can-i-map-binary16-to-guid-with-dapper

반응형