EF查询创建上下文实体对象

EF查询上下文实体对象在多线程模式下必须得一个方法对应一个实例,即:

/// <summary>
        /// 新增
        /// </summary>
        /// <param name="data">ConsumeRecord</param>
        public void AddConsumeRecord(ConsumeRecord data)
        {
            ExceptionBaseEx.VerifiParamIsNull(data, "data");
            ExceptionBaseEx.VerifiParamsIsNullOrWhiteSpace(data.KeyId, "data.KeyId");


            ConsumeRecordModelContext context = new ConsumeRecordModelContext();
            context.Entry(data).State = System.Data.Entity.EntityState.Added;
            context.SaveChanges();
        }

不能够使用下面这种的方式创建对象实例,即:

private ConsumeRecordModelContext baseContext = null;
        public ConsumeRecordDaoIntf()
        {
            baseContext = new ConsumeRecordModelContext();
        }

否则会出现多线程错误,即每个对象都访问同一个实例,这样会造成线程不安全,无法获取当前操作的实例对象的状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值