집 >데이터 베이스 >MySQL 튜토리얼 >Entity Framework를 사용하여 익명 SQL 쿼리 결과를 검색하는 방법은 무엇입니까?
Entity Framework에서 익명 SQL 쿼리 결과 검색
Entity Framework는 SqlQuery
한 가지 해결 방법은 원시 SqlConnection 및 ExecuteReader 메서드를 사용하여 데이터를 검색하고 결과 집합을 기반으로 익명 개체를 수동으로 생성하는 것입니다. 사용할 수 있는 사용자 정의 확장 방법은 다음과 같습니다.
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 쿼리에서 익명 결과를 검색할 수 있습니다.
List<dynamic> results = DynamicListFromSql(myDb, "select * from table where a=@a and b=@b", new Dictionary<string, object> { { "a", true }, { "b", false } }).ToList();
위 내용은 Entity Framework를 사용하여 익명 SQL 쿼리 결과를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!