You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Entity Framework Core 6中如何获取序列值及调用存储过程?

在Entity Framework Core 6中获取序列值及调用存储过程的方法

获取序列值

在EF Core 6中,你可以直接使用Database.SqlQuery<T>()方法执行原生SQL来获取序列值,用法和EF6逻辑一致:

// 获取下一个序列值
int nextSeqValue = dbContext.Database.SqlQuery<int>("SELECT NEXT VALUE FOR MySeqNumber").FirstOrDefault();

调用返回整数/字符串的存储过程

这个方案完全适用于调用返回单个整数或字符串结果的存储过程,只需将SQL语句替换为存储过程的调用语法即可:

调用返回整数的存储过程

// 示例:带参数调用返回整数的存储过程
int intResult = dbContext.Database.SqlQuery<int>("EXEC GetUserCount @RoleId = {0}", 1).FirstOrDefault();

调用返回字符串的存储过程

// 示例:带参数调用返回字符串的存储过程
string strResult = dbContext.Database.SqlQuery<string>("EXEC GetUserName @UserId = {0}", 1001).FirstOrDefault();

如果需要更安全的参数传递(避免SQL注入),可以使用SqlParameter:

var userIdParam = new SqlParameter("@UserId", SqlDbType.Int) { Value = 1001 };
string strResult = dbContext.Database.SqlQuery<string>("EXEC GetUserName @UserId", userIdParam).FirstOrDefault();

内容的提问来源于stack exchange,提问作者JamesW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 22:57:19