关于EF中的存储过程使用

首先是后台代码

  //登陆存储过程
            List<SqlParameter> paramArray = new List<SqlParameter>();
            paramArray.Add(new SqlParameter("@name", name));
            paramArray.Add(new SqlParameter("@pwd", pwd));
            SqlParameter param = new SqlParameter("@num", SqlDbType.Int);
            param.Direction = ParameterDirection.Output;
            paramArray.Add(param);
//注意这里 JSEntities 是数据库模型 
using (JS5Entities db = new JS5Entities())
{ try { db.Database.ExecuteSqlCommand("EXEC [Login_Proc] @name,@pwd,@num out", paramArray.ToArray()); } catch (Exception ex) { throw; } loginPd = (int)paramArray[2].Value; } if (loginPd > 0) { JsonStr = "cg"; } else { JsonStr = "gg"; }


PS.补充数据库模型

   public class JS5Entities : DbContext
    {
        public JS5Entities() : base("name=JS5Entities")
        {

        }

        //protected override void onModelCreateing(DbModelBuilder modelBuilder)
        //{
        //    throw new UnintentionalCodeFirstException();
        //}


        public DbSet<Goods> Goods { get; set; }
        public DbSet<Orders> Orders { get; set; }
        public DbSet<Typec> Typec { get; set; }
        public DbSet<Users> Users { get; set; }
        public DbSet<Webs> Webs { get; set; }

    }


数据库中存储过程

--登陆存储过程
ALTER PROCEDURE [dbo].[Login_Proc]
@name VARCHAR(100),
@psd VARCHAR(100),
@num INT OUTPUT
AS
  SET NOCOUNT ON;
  DECLARE @ins INT
	SET @ins=0
  SELECT @ins=COUNT(1) FROM Users WHERE Users.Us_Name=@name and Users.Us_Pwd=@psd
  if(@ins>0)
  BEGIN
--登陆成功
   SET @num=1 
  END
  ELSE
  BEGIN 
--登陆失败
		SET @num=0
  END



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值