日期:2014-05-17  浏览次数:20837 次

求助!如何用edmx执行带output的存储过程
存储过程有三个参数
ALTER PROCEDURE [dbo].[sp_get_uni_id]
  @NAME varchar(50),
  @STEP int,
  @VALUE varchar(20) OUTPUT

用edmx生成代码


        public virtual int sp_get_uni_id(string nAME, Nullable<int> sTEP, ObjectParameter vALUE)
        {
            var nAMEParameter = nAME != null ?
                new ObjectParameter("NAME", nAME) :
                new ObjectParameter("NAME", typeof(string));
    
            var sTEPParameter = sTEP.HasValue ?
                new ObjectParameter("STEP", sTEP) :
                new ObjectParameter("STEP", typeof(int));
    
            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("sp_get_uni_id", nAMEParameter, sTEPParameter, vALUE);
        }



Controller页面调用第三个参数不知道填什么..


这个问题应该怎么解决?
重新写执行存储过程方法还是??
修改存储过程不行的, 系统当时用.net2.0开发,正翻版成MVC3 不允许调整数据库

------解决方案--------------------
ObjectParameter myParameter  = new ObjectParameter("MyParameter ", typeof(string));

------解决方案--------------------
http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/2b90a21c-9276-4538-9b49-893e30b1f591/

http://stackoverflow.com/questions/9367688/output-parameter-with-entity-framework