본문 바로가기
MySql

MySQL 엔터티 프레임 워크를 사용하여 저장 프로 시저 실행

by 베이스 공부 2020. 11. 3.
반응형

내부 조인과 왼쪽 외부 조인을 사용하여 둘 이상의 테이블에서 데이터베이스에서 레코드를 선택하는 EF를 사용하여 저장 프로 시저를 실행할 수 있습니까?

내 관점은 많은 문제가있는 EF 또는 LINQ에서 조인을 수행하는 방법을 피하는 것입니다.

따라서 해당 프로 시저를 생성하면 사용자 입력의 매개 변수로 호출하고 결과를 .ToList () 메서드에 할당 한 다음 결과를 asp : repeater .DataSource .

이상한 질문 일 수도 있지만 여러 가지 이유로이 작업을하고 싶습니다. first, to use EF because i feel more comfortable. second, to get rid of using joins in EF. 셋째, 저장 프로 시저를 사용하면 쿼리를 자주 호출 할 때 쿼리 성능이 향상된다는 내용을 읽었습니다.

누구든지 예를 들어 이러한 질문에 답하는 데 도움을 줄 수 있다면 감사하겠습니다.

 

해결 방법

 

Entity Framework 데이터 컨텍스트에서 SqlQuery 를 호출 할 수 있습니다.

context.Database.SqlQuery<YourType>("exec usp_StoredProcedure").ToList()

예를 들어 쿼리 결과를 다시 매핑하려면 클래스가 필요합니다.

public class YourType
{
   public string Property1 { get; set; }
   public string Property2 { get; set; }
}

아래와 같이 쿼리에 매개 변수를 지정할 수도 있습니다.

SqlParameter parameter1 = new SqlParameter("@Parameter1", "Value");
context.Database.SqlQuery<YourType>("exec usp_StoredProcedure @Parameter1", parameter1).ToList()

 

참조 페이지 https://stackoverflow.com/questions/39062972

 

 

반응형

댓글