.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