EF中执行存储过程报错 String[4]: Size 属性具有无效大小值 0

排查后是如下问题所致,给定的参数没有设定大小(加入红框内的就可以了)

 private string GetCode(MCPERPEntities db, string code)
{ List<SqlParameter> paramArray = new List<SqlParameter>();
paramArray.Add(new SqlParameter("@I_CodeName", code));
paramArray.Add(new SqlParameter("@I_Year", DateTime.Now.ToString("yyyy")));
paramArray.Add(new SqlParameter("@I_Month", DateTime.Now.ToString("MM")));
paramArray.Add(new SqlParameter("@I_Day", DateTime.Now.ToString("dd")));
SqlParameter param = new SqlParameter("@O_Code", SqlDbType.NVarChar);
param.Direction = ParameterDirection.Output;
paramArray.Add(param);
paramArray[0].SqlDbType = SqlDbType.VarChar;
paramArray[0].Size = 200;
paramArray[1].SqlDbType = SqlDbType.VarChar;
paramArray[1].Size = 4;
paramArray[2].SqlDbType = SqlDbType.VarChar;
paramArray[2].Size = 2;
paramArray[3].SqlDbType = SqlDbType.VarChar;
paramArray[3].Size = 2; try
{
db.Database.ExecuteSqlCommand("EXEC P_Sys_GetAutoCode @I_CodeName,@I_Year,@I_Month,@I_Day,@O_Code out", paramArray.ToArray());
}
catch (Exception ex)
{
throw;
}
return paramArray[3].Value.ToString();
}

  

写的比较粗糙因为是一个简单的测试就没有写的很细致.希望能帮到遇到这个问题的同学.

EF执行存储工程报错 String[4]: Size 属性具有无效大小值 0。的更多相关文章

  1. C# 调用存储过程出错:String[3]: Size 属性具有无效大小值 0

    存储过程如下 Create PROCEDURE [dbo].[Test] @FundId int, @vchStrategyToken nvarchar(), @ErrorMessage nvarch ...

  2. string[1]:size 属性具有无效大小值0

    截图 使用存储过程返回多个字符串参数 程序 public class EventStatisticsDAL { public static void GetCount(string code, out ...

  3. EF core2.1+MySQL报错'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBuilder..ctor(Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMapper)

    一.使用.net core 2.0 EF mysql 运行一直报错如下: An unhandled exception occurred while processing the request. M ...

  4. 执行 cobbler get-loaders报错

    在配置cobbler安装时执行 cobbler get-loaders报错 [root@110:~]# cobbler get-loaders Traceback (most recent call  ...

  5. 执行opatch apply 报错 OPatch failed with error code 73

    .执行opatch apply 报错 OPatch failed [oracle@ora_11g 14275605]$ /opt/oracle/product/db_1/OPatch/opatch a ...

  6. VirtualBox创建虚拟电脑、执行Genymotion模拟器报错

    当安装完Genynition关于Android应用的调试模拟器之后,在Genymotion执行的平台virtualBox:VirtualBox创建虚拟电脑.执行Genymotion模拟器报错: 错误卖 ...

  7. 解决cookies存储中文报错问题

    URLEncoder.encode("username", "UTF-8"); URLDecoder.decode("123", " ...

  8. linux下执行QT可执行文件报错

    老样子,不多BiBi,直接进入主题! 有时候在linux下编译好QT程序,用QTCreator运行没问题,打包移植到另一台机器上,用命令./XX执行就会报错:error while loading s ...

  9. android studio java工程 报错

    作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313134555 @qq.com  android studio java工程 ...

随机推荐

  1. 洛谷P1101单词方阵

    题目描述 给一n×n的字母方阵,内可能蕴含多个“yizhong”单词.单词在方阵中是沿着同一方向连续摆放的. 摆放可沿着 8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有 ...

  2. 最干净的pyinstaller打包成exe应用程序方法

    在anaconda环境下进行pyinstaller打包后,程序非常大,70行代码打包后有280MB,这是因为会将conda环境携带的库都打包进去导致的.为了获得更纯净的包环境,我们需要安装纯pytho ...

  3. shell之一些测试脚本

    比较文件有无修改,通过修改时间判别 # !/bin/bash dir=$ for file in `ls $dir` do if [ -d $dir/$file ] then echo $file i ...

  4. django QuerySet 的常用API

    为了加深对queryset对象api的了解,我们建立了以下示例模型: from django.db import models class Author(models.Model): "&q ...

  5. HDU 4472 Count (DP)

    题目:问n个节点构成完全对称的树有多少种方法. 因为树是完全对称的,所以它的子树也是完全对称的. 对于每个树,拿出一个根节点,枚举剩下的节点能拆分成多少个子树. #include <cstdio ...

  6. js动态生成下拉列表

    经常需要用到js动态生成下拉列表的功能,记录下来备用. 示例需求:通过ajax请求,从后台获取用户姓名列表,并添加到下拉列表中.js代码如下: function getNameList(){ //如果 ...

  7. 省选算法学习-BSGS与exBSGS与二次剩余

    前置知识 扩展欧几里得,快速幂 都是很基础的东西 扩展欧几里得 说实话这个东西我学了好几遍都没有懂,最近终于搞明白,可以考场现推了,故放到这里来加深印象 翡蜀定理 方程$ax+by=gcd(a,b)$ ...

  8. POJ 2406 Power Strings 暴力

    emmmm 显然的是a串长度是s串长度的因数 我们可以暴力枚举因数然后暴力check #include<cstdio> #include<algorithm> #include ...

  9. KnockJs 绑定语法

    按照汤姆大叔的教程,学习了KnockJs相关知识,练习一下KnockoutJs的绑定语法. 相关的教程大家可以去看 汤姆大叔的博客. 练习代码下载 由于没有环境,代码直接用记事本写的,可能比较乱,仅作 ...

  10. jquery 追加元素的方法(append prepend after before 的区别)

    append() 方法在被选元素的结尾插入内容. prepend() 方法在被选元素的开头插入内容. after() 方法在被选元素之后插入内容. before() 方法在被选元素之前插入内容. &l ...