天天看点

SQL Server 预编译执行SQLs

问题描述:

MVC5项目,利用执行sql的方式获取数据,但是在利用预编译执行的时候报错了,字段XXXwhich was not supplied.

其实就是这个参数传了个null导致的。在传参数之前做个判断,如果为null就赋值为空串即可。

String sql = "select a.Id,a.UserName,a.TrueName,ISNULL(b.OTM, '0') as Flag from SysUser a left join FIX_MatchingModel b on cast(a.Id as varchar) = b.OTM and b.Id = @matchingId Where a.DepId = @DepId order by b.OTM desc";

SqlParameter[] sqlParameters = { new SqlParameter { ParameterName = "matchingId", Value = matchingId }, new SqlParameter { ParameterName = "DepId", Value = depId } };

DbContexts DbContext = new DbContexts();

return DbContext.Database.SqlQuery<UserView>(sql, sqlParameters).ToList();

本文转自 sshpp 51CTO博客,原文链接:http://blog.51cto.com/12902932/1927608,如需转载请自行联系原作者