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. HDU 4667 Building Fence 计算几何 凸包+圆

    1.三角形的所有端点 2.过所有三角形的端点对所有圆做切线,得到所有切点. 3.做任意两圆的外公切线,得到所有切点. 对上述所有点求凸包,标记每个点是三角形上的点还是某个圆上的点. 求完凸包后,因为所 ...

  2. HDU 4655 Cut Pieces 找规律+简单计数

    解法参考:http://blog.csdn.net/a601025382s/article/details/9840125 #include <cstdio> #include <c ...

  3. javascript replace 替换全部字符

    $("#pageNote").html($("#note3").val().replace(/ /g, "").replace(/<b ...

  4. IE8专用hack

    众所周知,ie6.7的hack直接用*即可,但是ie8的话就比较麻烦,在做半透明背景的时候,为了兼容ie6.7,可以为其设置纯色,但是ie8也同样不支持半透明,需要单独为它设置纯色背景.下面的兼容代码 ...

  5. 【CF Round 439 C. The Intriguing Obsession】

    time limit per test 1 second memory limit per test 256 megabytes input standard input output standar ...

  6. 异常:Batch update returned unexpected row count from update [0]; actual row count: 0;

    使用了hibernate的主键生成策略,而在程序中又主动去设置了主键值.<class name="ProductRegion" table="PRODUCT_REG ...

  7. eclipse安装使用jetty

    安装: 直接从eclipse中的eclipse_market中下载即可,关键说下配置项目的访问路径:

  8. js判断变量类型,类型转换,

    1.typeof 操作符 主要检测基础数据类型 var a="zhangqian"; var b=true; ; var d; var e=null; var f=new Obje ...

  9. [LeetCode] Restore IP Addresses 回溯

    Given a string containing only digits, restore it by returning all possible valid IP address combina ...

  10. 基于Xen实现一种domain0和domainU的应用层数据交互高效机制 - 3

    继续 上一篇 的研究,结合 xen4.2.3 的代码分析,发现 xen4.2.3 的应用层工具库 tools 包含一个工具叫 libvchan ,其头文件描述如下: * This is a libra ...