# Entity Framework Core 고급 (.NET) > Raw SQL, stored procedures, 트랜잭션, AsNoTracking, AsSplitQuery, query tags, interceptors, 성능 튜닝 - 25 면접 질문 - Mid-Level - [면접 질문: .NET](https://sharpskill.dev/ko/technologies/dotnet/interview-questions.md) ## 1. EF Core에서 엔티티를 가져오기 위해 raw SQL 쿼리를 실행하려면 어떻게 해야 하나요? **답변** FromSql() 또는 FromSqlRaw() 메서드를 사용하면 DbContext가 추적하는 엔티티를 반환하면서 raw SQL 쿼리를 실행할 수 있습니다. 이는 stored procedure나 테이블 반환 함수 호출처럼 LINQ로 쿼리를 직접 표현할 수 없는 시나리오에 유용합니다. 이후 결과를 LINQ와 결합하여 필터를 추가하거나 관계를 포함할 수 있습니다. ## 2. EF Core에서 FromSqlRaw()와 ExecuteSqlRaw()의 차이점은 무엇인가요? **답변** FromSqlRaw()는 추적되는 엔티티를 반환하는 SELECT 쿼리를 실행하는 데 사용되며 LINQ와의 결합이 가능합니다. ExecuteSqlRaw()는 비쿼리 명령(INSERT, UPDATE, DELETE)을 실행하는 데 사용되며 영향을 받은 행 수를 반환합니다. FromSqlRaw()는 DbSet에 적용되고, ExecuteSqlRaw()는 Database에 적용됩니다. 이 구분은 타입 안전성과 모델 일관성을 보장합니다. ## 3. EF Core에서 엔티티를 반환하는 stored procedure를 호출하려면 어떻게 해야 하나요? **답변** stored procedure를 호출하고 결과를 엔티티에 매핑하려면 FromSqlRaw() 또는 Database.SqlQuery()를 사용합니다. 호출 후 AsEnumerable()을 추가하는 것이 매우 중요한데, 이는 EF Core가 stored procedure 결과에 대해 구성을 시도하여 SQL 구문 오류를 일으키는 것을 방지하기 위함입니다. SQL 인젝션을 방지하기 위해 @p0, @p1 구문을 사용하여 매개변수를 전달할 수 있습니다. ## 22개 추가 질문 이용 가능 - EF Core에서 AsNoTracking()의 역할은 무엇인가요? - AsNoTracking() 대신 AsNoTrackingWithIdentityResolution()을 사용해야 하는 경우는 언제인가요? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 .NET 면접 주제 - [C# 기초](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/csharp-basics.md): 25개 질문, Junior - [LINQ & Delegates](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/csharp-linq-delegates.md): 20개 질문, Junior - [C# 언어 핵심 요소](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/csharp-language-essentials.md): 15개 질문, Junior - [ASP.NET Core 기초](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/aspnet-core-fundamentals.md): 18개 질문, Junior - [ASP.NET Core 요청 수명 주기](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/aspnet-core-request-lifecycle.md): 20개 질문, Junior - [Configuration & Settings](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/configuration-settings.md): 20개 질문, Junior - [애플리케이션 라이프사이클](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/application-lifecycle.md): 20개 질문, Junior - [Dependency Injection](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/dependency-injection.md): 24개 질문, Mid-Level - [Entity Framework Core](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/entity-framework-core.md): 25개 질문, Mid-Level - [Minimal APIs](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/minimal-apis.md): 18개 질문, Mid-Level - [Web API 개발](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/web-api-development.md): 22개 질문, Mid-Level - [ASP.NET Core의 Async](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/async-aspnet-core.md): 20개 질문, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/authentication-authorization.md): 18개 질문, Mid-Level - [HttpClient & 네트워킹](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/httpclient-networking.md): 20개 질문, Mid-Level - [JSON 직렬화](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/json-serialization.md): 20개 질문, Mid-Level - [C# 고급 기능](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/csharp-advanced-features.md): 20개 질문, Mid-Level - [Clean Architecture](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/clean-architecture.md): 20개 질문, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/logging-monitoring.md): 22개 질문, Mid-Level - [단위 테스트와 xUnit](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/unit-testing-xunit.md): 20개 질문, Mid-Level - [통합 테스트](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/integration-testing.md): 18개 질문, Mid-Level - [Docker & Containerization](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/docker-containerization.md): 16개 질문, Mid-Level - [NuGet 패키지 관리](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/nuget-package-management.md): 16개 질문, Mid-Level - [Memory Management & GC](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/memory-management-gc.md): 22개 질문, Senior - [리액티브 프로그래밍](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/reactive-programming.md): 24개 질문, Senior - [Async/await 및 패턴](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/async-await-patterns.md): 26개 질문, Senior - [.NET 디자인 패턴](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/dotnet-design-patterns.md): 24개 질문, Senior - [성능 최적화](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/performance-optimization.md): 22개 질문, Senior - [보안 및 모범 사례](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/security-best-practices.md): 24개 질문, Senior - [SignalR 및 실시간](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/signalr-realtime.md): 22개 질문, Senior - [마이크로서비스 아키텍처](https://sharpskill.dev/ko/technologies/dotnet/interview-questions/microservices-architecture.md): 25개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/dotnet/interview-questions/ef-core-advanced