c# - 使用 LINQ 从 SQL 存储过程返回单个值
问题描述
我有一个存储过程,它返回一个我想使用 LINQ 返回的十进制值。我已经使用以下方法返回多个值并使用 ViewModel,但从不返回单个值,并且老实说很难在网上找到一些东西:
var CompanyIdParameter = new SqlParameter("CompanyId", companyId);
departmentListVM = db.Database.SqlQuery<DepartmentViewModel>("sp_SELECT_Department_Hierarchy @CompanyId", CompanyIdParameter)
.Select(x=> new DepartmentViewModel()
{
pkiDepartmentId = x.pkiDepartmentId,
DepartmentName = x.DepartmentName,
ParentDepartmentId = x.ParentDepartmentId,
ParentDepartmentName = x.ParentDepartmentName,
fkiCompanyId = x.fkiCompanyId,
isLastDept = x.isLastDept
}).ToList();
我能不能做这样的事情:
var IdeaIdParameter = new SqlParameter("IdeaId", ideaId);
var SessionIdParameter = new SqlParameter("SessionId", sessionId);
var CriteriaIdParameter = new SqlParameter("CriteriaId", item.fkiJudgingCriteriaId);
decimal result = db.Database.SqlQuery<decimal>("sp_SELECT_Department_Hierarchy @IdeaId, @SessionId, @CriteriaId", IdeaIdParameter, SessionIdParameter, CriteriaIdParameter)
.Select(x => x.value);
我是让它太复杂还是有更好的方法?
解决方案
怎么样
var value = db.Database.SqlQuery<decimal>("sp_SELECT_Department_Hierarchy @IdeaId, @SessionId, @CriteriaId", IdeaIdParameter, SessionIdParameter, CriteriaIdParameter)
.SingleOrDefault();
推荐阅读
- ios - WKWebView swiftUI 在第二次尝试时崩溃
- laravel - Laravel 事件和监听器
- python - Python Pandas:对每一行应用一个特定的函数
- docker - 在基于 Alpine 的 Docker 映像中安装 Sdkman
- vue.js - 在 3 个项目(.net core、vue.js 和 webapi)中构建解决方案时会出现什么陷阱或后果?
- behat - 使用 Behat/Mink,如何匹配一个确切的数字?
- php - 如何将存储在数据库中的 Base64 字符串集合转换为普通图像存储在本地目录中
- angular - 将订单信息保存到两个表 - 角度 8
- javascript - 我怎样才能制作一个直接进入另一个视差的卷轴?
- python - python将十六进制字符串编码/解码为utf-8字符串