![](/img/trans.png)
[英]Returning single row vaues from SQL Server stored procedure with LINQ-to-SQL
[英]Returning single value from SQL Stored Procedure using LINQ
我有一个存储过程,该过程返回要使用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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.