클리엘
CLIEL LAB
클리엘
전체 방문자
오늘
어제
  • 분류 전체보기 (513)
    • Mobile (47)
      • Kotlin (47)
    • Web (84)
      • NestJS (9)
      • HTML5 & CSS3 (38)
      • Javascript (20)
      • TypeScript (6)
      • JQuery (11)
    • .NET (300)
      • C# (83)
      • ASP.NET (67)
      • Windows API for .NET (128)
    • Server (53)
      • SQL Server (10)
      • MariaDB (18)
      • Windows Server (6)
      • node.js (19)
    • System (12)
      • 작업LOG (12)
    • Review (11)
    • ETC (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 정리

인기 글

태그

  • 변수
  • HTML5
  • .NET
  • jQuery
  • exception
  • Entity Framework
  • CSS3
  • asp.net core
  • android
  • android studio
  • ASP.NET
  • JavaScript
  • c#
  • node.js
  • Kotlin
  • NestJS
  • asp.net core web api
  • MariaDB
  • Windows API
  • LINQ

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
클리엘

CLIEL LAB

.NET/ASP.NET

[ASP.NET Core] SQL 사용하기

2021. 11. 5. 03:15
728x90

아래 method를 사용하기 위해서는 Microsoft.EntityFrameworkCore와 Microsoft.EntityFrameworkCore.Relational package가 설치되어 있어하며 using Microsoft.EntityFrameworkCore; 으로 namespace사용을 선언합니다.

 

1. FromSqlRaw / FromSqlInterpolated

TestContext tc = new TestContext();

tc.TblUser.FromSqlRaw<TblUser>($"Select seq, userID, userPW From TBL_User;").ToList();

//또는
string user = "abc";
tc.TblUser.FromSqlRaw<TblUser>($"Select seq, userID, userPW From TBL_User Where userID = '{user}';").ToList();

//또는
var user = new SqlParameter("user", "abc");
return tc.TblUser.FromSqlRaw<TblUser>($"Select seq, userID, userPW From TBL_User Where userID = @user;", user).ToList();

이때 Query는 형식매개변수에 맞는 구조로 작성되어야 합니다.

 

FromSqlInterpolated는 보간문자열등으로 값을 제공하는 경우 SQL Injection공격으로 부터 방어할 수 있도록 하는 method입니다.

 

2. ExecuteSqlRaw / ExecuteSqlInterpolated

 

ExecuteSqlRaw() method는 Select 보다는 Update나 Insert등의 변경 Query에 사용합니다.

TestContext tc = new TestContext();

var user = new SqlParameter("user", "def");
tc.Database.ExecuteSqlRaw("Update [dbo].[TBL_User] Set UserID = @user;", user);

ExecuteSqlInterpolated는 보간문자열등으로 값을 제공하는 경우 SQL Injection공격으로 부터 방어할 수 있도록 하는 method입니다.

728x90
저작자표시 비영리 변경금지

'.NET > ASP.NET' 카테고리의 다른 글

[ASP.NET Core] Claim 인증과 권한  (0) 2021.11.11
[ASP.NET Core] 암호화 사용하기(DataProtection)  (0) 2021.11.07
[ASP.NET Core] Entity Framework Core (Code-First)  (0) 2021.11.02
[ASP.NET Core] 의존성 주입(Dependency Injection)  (0) 2021.11.01
[ASP.NET Core] MVC Pattern  (0) 2021.10.31
    '.NET/ASP.NET' 카테고리의 다른 글
    • [ASP.NET Core] Claim 인증과 권한
    • [ASP.NET Core] 암호화 사용하기(DataProtection)
    • [ASP.NET Core] Entity Framework Core (Code-First)
    • [ASP.NET Core] 의존성 주입(Dependency Injection)
    클리엘
    클리엘
    누구냐 넌?

    티스토리툴바