집 >데이터 베이스 >MySQL 튜토리얼 >Entity Framework를 사용하여 SQL 쿼리에서 익명 형식 결과를 추출하는 방법은 무엇입니까?
Entity Framework의 SQL 쿼리에서 익명 유형 결과 추출
Entity Framework에서 SqlQuery
이러한 제한을 극복하고 익명 유형 결과를 얻으려면 원시 SQL을 직접 활용하는 것이 해결책입니다. 제공된 메서드인 DynamicListFromSql을 사용하면 개발자가 이 기능을 구현할 수 있습니다.
public static IEnumerable<dynamic> DynamicListFromSql(this DbContext db, string Sql, Dictionary<string, object> Params) { using (var cmd = db.Database.Connection.CreateCommand()) { cmd.CommandText = Sql; if (cmd.Connection.State != ConnectionState.Open) { cmd.Connection.Open(); } foreach (KeyValuePair<string, object> p in Params) { DbParameter dbParameter = cmd.CreateParameter(); dbParameter.ParameterName = p.Key; dbParameter.Value = p.Value; cmd.Parameters.Add(dbParameter); } using (var dataReader = cmd.ExecuteReader()) { while (dataReader.Read()) { var row = new ExpandoObject() as IDictionary<string, object>; for (var fieldCount = 0; fieldCount < dataReader.FieldCount; fieldCount++) { row.Add(dataReader.GetName(fieldCount), dataReader[fieldCount]); } yield return row; } } } }
이 메서드를 사용하면 개발자는 SQL 쿼리를 실행하고 동적 개체 형태로 결과를 검색할 수 있습니다. ExpandoObject 인스턴스.
자신의 코드에서 이 메소드를 사용하려면 다음과 같이 호출하면 됩니다.
List<dynamic> results = DynamicListFromSql(myDb,"select * from table where a=@a and b=@b", new Dictionary<string, object> { { "a", true }, { "b", false } }).ToList();
활용하여 이 접근 방식을 사용하면 개발자는 쉽게 SQL 쿼리에서 익명 유형 결과를 얻을 수 있으므로 특정 열을 검색하거나 쿼리 결과를 기반으로 사용자 정의 데이터 구조를 쉽게 생성할 수 있습니다.
위 내용은 Entity Framework를 사용하여 SQL 쿼리에서 익명 형식 결과를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!