執行非查詢原生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}"); }