• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

.NET 5.0 FromSql 질문

22.04.10 09:53 작성 조회수 180

0

.Net 5.0 이후버전부터 FromSql과 executesqlcommand 이 지원안되는 것 같은데 대체 방법이 있을까요?

답변 1

답변을 작성해보세요.

0

박신영님, 반갑습니다.

.NET Core 3.x 버전 이후로 FromSql과 ExecuteSqlCommand는 deprecated 되었습니다. (앞으로 사라지게 될 기능이니 사용하지 말라는 뜻입니다.)

닷넷진영에서 추천하는 해당 메서드는 각각 FromSqlInterpolated와 ExecuteSqlInterpolated 입니다.

Interpolated는 문자열을 보간한다는 뜻으로 문자열 앞에 $를 붙이면 $"저의 이름은 {Name}입니다."의 방식으로 Name변수의 값을 포함한 문자열로 표시해 주겠다는 의미입니다.

단순히 메서드이름만 변경된 것이 아니라 SQL Injection을 해결하기 위한 조치입니다.

혹시 문자열에 변수가 포함되지 않는다면 각각 FromSqlRaw와 ExecuteSqlRaw로 사용하시면 됩니다.

감사합니다.

P.S. 리소스에는 NetCore.V5.Service 프로젝트를 추가했고, NetCore.Web.V5 프로젝트에서 참조하는 것으로 처리했습니다. NetCore.V5.Service/Svcs/UserService.cs 의 GetUserInfo 메서드를 살펴보시기 바랍니다.