일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 객체지향
- c#
- 디자인 패턴
- eventargs
- C# 파일 암/복호화
- 시
- solid
- Json.NET
- WPF
- DrawEllipse
- C# MDB Handle
- DrawRectangle
- Winform
- GDI+
- 공공 데이터 포털
- Cell Border Style
- Excel Cell Format
- MDB Select
- 경기도 버스
- JSON
- eventhandler
- 버스 API
- delegate
- NUnit
- 경기도 버스정보시스템
- C# MDB
- sqlite3
- MVC
- MDB Connect
- TDD
Archives
- Today
- Total
White Whale Studio
ASP.net Core - Entity Framework Core - Stored Procedure Call / EF Core에서 프로시저 호출하기 본문
IT Engineering/WEB - Backend
ASP.net Core - Entity Framework Core - Stored Procedure Call / EF Core에서 프로시저 호출하기
glorymind 2020. 3. 30. 16:26반응형
업무 도중 EF Core 환경에서 프로시저를 콜해보려고 했는데.. 잘 안되서리 ㅠㅜ
사수님께서 알려주신 깃헙 오픈소스입니다.
https://github.com/verdie-g/StoredProcedureEFCore
우선은
패키지 관리자 콘솔에서
Install-Package StoredProcedureEFCore
위와같이 설치를 하시고 나서
using 문 넣어주시고
1
2
3
4
5
6
|
List<Model> rows = null;
ctx.LoadStoredProc("dbo.ListAll")
.AddParam("limit", 300L)
.AddParam("limitOut", out IOutParam<long> limitOut)
.Exec(r => rows = r.ToList<Model>());
|
cs |
위와 같이 작성해주시면 됩니다.
내가 받고자하는 데이터를 초기화하고
ctx는 DbContext 입니다. 사용하는 Context 명칭에 맞춰 쓰고
LoadStoredProc 괄호 안에는 Procedure 명칭을 넣고
프로시저의 파라미터는 AddParam에 알맞게 넣어주면 됩니다.
결과적으로 받을때는 마지막줄과같이 rows = r.ToList<Model>() 과같이 받으면 됩니다.
※ ㅇ주의 : 실제로 사용을 하다보니 이 받을때 데이터 타입을 잘 맞춰줘야합니다.
Procedure로 받아오다보니 모호한 데이터 타입의 경우 정확하게 맞추지 않으면 Return이 되긴되는데
특정 컬럼값이 null 값으로 들어온다던가 하는 현상이 있으니 데이터 타입에 유의해서 사용하셔야할 듯합니다.
반응형
Comments