Search code examples
entity-frameworkdatatableado.netdataset

Entity Framework : Use stored procedure to return raw table result


Is it possible in EF to use stored procedures to return raw DataTable/DataSet like in classic ADO.net instead of returning a mapped/translated entity?


Solution

  • EF is built on top of ADO.NET, so whenever you need to you can directly access the DbConnection for a DbContext and use it directly. Eg

            using (var db = new MyDbContext())
            {
                db.Database.Connection.Open();
                var con = (SqlConnection)db.Database.Connection;
                var cmd = new SqlCommand("exec MyProc", con);
                DataTable dt = new DataTable();
                using (var rdr = cmd.ExecuteReader())
                {
                    dt.Load(rdr);
                }
                //. . .