使用Entity framework框架执行存储过程

        public void TestStoreProc()
        {
            using (EF6_Demo.EFTestContext db = new EF6_Demo.EFTestContext())
            {
                db.Database.Log = Console.WriteLine;
                System.Data.SqlClient.SqlParameter[] para_list = new System.Data.SqlClient.SqlParameter[2];
                para_list[0] = new System.Data.SqlClient.SqlParameter("@msg", System.Data.SqlDbType.NVarChar, 50);
                para_list[0].Value = "hello";
                para_list[0].Direction = System.Data.ParameterDirection.Input;

                para_list[1] = new System.Data.SqlClient.SqlParameter("@reply", System.Data.SqlDbType.NVarChar, 50);
                para_list[1].Direction = System.Data.ParameterDirection.Output;
                var query = db.Database.ExecuteSqlCommand("Test1 @msg,@reply output", para_list);
                Console.WriteLine(para_list[1].Value);
            }
        }

代码中的“output”关键词不能丢失

下面是存储过程脚本

--测试Entity Framework 执行存储过程及返回值的实例过程;2017-8-2 16:26:01

CREATE PROC Test1
    @msg NVARCHAR(50) ,
    @reply NVARCHAR(50) OUTPUT
AS
    SET @reply = '收到信息啦' + @msg;
    RETURN 1;
GO
原文地址:https://www.cnblogs.com/xakml/p/7274696.html