데이터베이스 조회 질문

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 :
  • 프로젝트명 : 프로젝트D
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

안녕하세요.

데이터베이스 조회 기능 테스트 중 문의드립니다.

유저 테이블 생성 시 Indate 컬럼을 Primary Key로 설정하고,
BackEnd.Backend.UserInDate 값을 저장하여 유저를 식별하도록 구성했습니다.

테이블 Insert는 정상적으로 동작하는 것을 확인했습니다.

아래와 같이 조회 코드를 작성하여 실행하면,

var result = await Context.From<TABLENAME>()
    .Where(x => x.Indate == BackEnd.Backend.UserInDate)
    .FirstOrDefault();

반환값은 존재하지만, 실제 저장된 값이 아닌 각 필드의 기본값으로만 채워진 객체가 반환되고 있습니다.

혹시 설정이나 사용 방법 중 잘못된 부분이 있는지 확인 부탁드립니다.

안녕하세요 개발자님,
서버 로그상으로는 문제 없이 전달되고 있는 것으로 확인됩니다.
C# 으로 선언 된 테이블 클래스에 변수명과
콘솔에서의 테이블의 필드명등 동일 한지 다시 한번 확인해 주시면 감사하겠습니다.

아래 이미지와 같이 콘솔에서 테이블의 C# 코드를 확인 할 수 있는 점 참고바랍니다.

좋아요 1

콘솔에서 테이블의 C# 모델 코드를 복사하여 유니티 프로젝트에 그대로 사용 중입니다.

유저 테이블에 datetime 타입 컬럼이 있으며, 콘솔에서 해당 컬럼을 Nullable 옵션 체크 후 생성했습니다.
이 상태에서 콘솔에서 자동 생성된 코드를 복사하면 아래와 같이 생성됩니다.

[Column("columnName", DatabaseType.DateTime)]
public DateTime? ColumnName { get; set; }

이 코드 그대로 사용하여 조회 시, 값이 기본값으로만 들어오거나 파싱 오류가 발생했습니다.
하지만 위 코드에서 타입을 DateTime?DateTime 으로 수정한 뒤 다시 조회하니 정상적으로 동작하는 것을 확인했습니다.

콘솔에서 Nullable로 설정한 datetime 컬럼이
C# 코드에서는 DateTime?로 생성되는데,
이 경우 SDK 역직렬화 과정에서 문제가 발생하는 것으로 보입니다.

해당 매핑 방식이 정상 동작하는 설계인지,
아니면 콘솔 코드 생성 시 타입 처리에 이슈가 있는지 확인 부탁드립니다.

좋아요 1

문의해주신 내용과 관련해 답변이 지연되고 있어 죄송합니다.
관련하여 담당부서에 확인중에 있으며, 확인되는대로 답변드릴 수 있도록 하겠습니다.

좋아요 1

Nullalbe 값 형식이 제대로 파싱되지 않는 오류를 확인하여 수정하였습니다.
유니티 패키니 매니져에서 데이터베이스 업데이트 진행 후 이용해 주시면 감사하겠습니다. :D

좋아요 1