如何通过.net core EF Core实现调用存储过程的复杂长尾词?

2026-04-01 11:480阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1320个文字,预计阅读时间需要6分钟。

如何通过.net core EF Core实现调用存储过程的复杂长尾词?

前言:在这里,我们将尝试学习一下 .net core EF Core 中调用存储过程的方法。我们知道 EF Core 不支持直接调用存储过程,那么它又提供了哪些方式去执行存储过程呢?以下是一些方法:

前言

在这里,我们将尝试去学习一下 .net core EF Core 中调用存储过程。

我们知道,EF Core 是不支持直接调用存储过程的,那它又提供了什么样的方式去执行存储过程呢?有如下方法:

1、FromSql,官方文档

DbSet<TEntity>.FromSql()

2、执行SQl命令

DbContext.Database.ExecuteSqlCommand()

但是,这两种方式都有局限性:

1、FromSql方式的结果一定要是实体类型,就是数据库表映射的模型。这意味着,执行存储过程返回的结果一定是跟数据库表相关的所有字段;

2、FromSql方式的结果不能有关联关系数据。这就相当于不能 join ,也返回不了 join 的关联表的数据。

3、ExecuteSqlCommand执行插入、更新跟删除的存储过程不能直接映射到实体(EF Core不支持嘛,在讲 EF 跟 EF Core 的区别时已经很清晰了),所以,CUD 方法不能直接调用 SaveChanges 方法。

阅读全文
标签:方式

本文共计1320个文字,预计阅读时间需要6分钟。

如何通过.net core EF Core实现调用存储过程的复杂长尾词?

前言:在这里,我们将尝试学习一下 .net core EF Core 中调用存储过程的方法。我们知道 EF Core 不支持直接调用存储过程,那么它又提供了哪些方式去执行存储过程呢?以下是一些方法:

前言

在这里,我们将尝试去学习一下 .net core EF Core 中调用存储过程。

我们知道,EF Core 是不支持直接调用存储过程的,那它又提供了什么样的方式去执行存储过程呢?有如下方法:

1、FromSql,官方文档

DbSet<TEntity>.FromSql()

2、执行SQl命令

DbContext.Database.ExecuteSqlCommand()

但是,这两种方式都有局限性:

1、FromSql方式的结果一定要是实体类型,就是数据库表映射的模型。这意味着,执行存储过程返回的结果一定是跟数据库表相关的所有字段;

2、FromSql方式的结果不能有关联关系数据。这就相当于不能 join ,也返回不了 join 的关联表的数据。

3、ExecuteSqlCommand执行插入、更新跟删除的存储过程不能直接映射到实体(EF Core不支持嘛,在讲 EF 跟 EF Core 的区别时已经很清晰了),所以,CUD 方法不能直接调用 SaveChanges 方法。

阅读全文
标签:方式