반응형
내부 조인과 왼쪽 외부 조인을 사용하여 둘 이상의 테이블에서 데이터베이스에서 레코드를 선택하는 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
반응형
'MySql' 카테고리의 다른 글
MySQL [Docker] : MySQL에 PHPMyAdmin 연결이 작동하지 않음 (0) | 2020.11.03 |
---|---|
MySQL MySql 워크 벤치 CHECK 제약 (0) | 2020.11.03 |
MySQL 쿼리 날짜> = 90 일 (0) | 2020.11.03 |
MySQL FLOAT 데이터에 SUM 사용 (0) | 2020.11.03 |
MySQL 하나의 큰 쿼리를 반환하는 것이 더 낫습니까, 아니면 몇 개의 작은 쿼리를 반환하는 것이 낫습니까? (0) | 2020.11.03 |
댓글