EFCore使用SQL語句


 執行非查詢原生SQL

                string msg = "內容";
                await db.Database.ExecuteSqlInterpolatedAsync($"delete from comments where title={msg}");

 

實體相關的查詢SQL ,

FromSqlInterpolated返回結果是IQueryable類型,在執行之前還可以對其進一步處理
                string key = "%中%";
                var list=db.Comments.FromSqlInterpolated($"select * from comments where content like {key}");
                foreach (var item in list.take(10))
                {
                    Console.WriteLine($"{item.Id}:{item.Content}");
                }

 

執行任意的SQL

                var conn = db.Database.GetDbConnection();
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    await conn.OpenAsync();
                }
                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "select id,標題 title from articles";
                    using (var reader = await cmd.ExecuteReaderAsync())
                    {
                        while (await reader.ReadAsync())
                        {
                            var id = reader.GetInt32(0);
                            var title = reader.GetString(1);
                            Console.WriteLine($"{id}:{title}");
                        }
                    }
                }

 

使用Dapper

                var conn = db.Database.GetDbConnection();
                var list=conn.Query<OrgUnit>("select * from orgunits");
                foreach (var item in list)
                {
                    Console.WriteLine($"{item.Id}:{item.Name}");
                }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM