记一下EFCore执行SQL语句的方法

执行的方法都在DBContext里

比如写一个方法 ,继承 DBContext

public class LogDBContext : DbContext
{
    public DbSet<LogModel> LogModels { get; set; }
}

然后下面是使用方法

 public async Task<bool> Add(LogModel model)
 {
     using (LogDBContext db = new LogDBContext())
     {
         db.Database.ExecuteSqlRaw("insert into tableA (...) values(..)", null);
         return await db.SaveChangesAsync() > 0;
     }
 }

db.Database的这个 Database 是DBContext里面的对象

提供的方法有:

ExecuteSqlRaw
ExecuteSqlRawAsync
ExecuteSqlInterpolated
ExecuteSqlInterpolatedAsync

执行增删改方便,如果是查询呢?

public async Task<List<LogModel>> FindAll()
{
    using (LogDBContext db = new LogDBContext())
    {
        var data = db.LogModels.FromSqlRaw("select ... from tableA", null);
        return await data.ToListAsync();
    }
}

 

posted @   .jx  阅读(717)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示