원시 SQL 쿼리 및 Entity Framework 코어

asp.net-core asp.net-core-mvc c# entity-framework-core

문제

내 응용 프로그램을 ASP.NET MVC Core 및 Entity Framework Core로 마이그레이션하면 문제가 발견되었습니다. 이 같은 엔터티 원시 SQL 쿼리가 있습니다.

var rawSQL = dbContext.Database.SqlQuery<SomeModel>("Raw SQL Query").ToList();

그러나 context.Database 에는 SqlQuery<T> 가 없습니다. SqlQuery<T> . 이 문제에 대한 해결책이 있습니까?

수락 된 답변

using Microsoft.Data.Entity; 추가했는지 확인하십시오 using Microsoft.Data.Entity; 당신이 사용할 수있는 확장 방법이 있기 때문입니다.

var rawSQL = dbContext.SomeModels.FromSql("your SQL");

더 나아가 원시 SQL (SQL 주입 공격 위험에 처해 있음)을 사용하는 대신이 FromSql 메소드를 사용하면 다음과 같은 매개 변수화 된 쿼리를 사용할 수 있습니다.

var rawSQL = dbContext.SomeModels.FromSql("your SQL");



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.