实体框架的间歇性问题

时间:2015-09-28 15:30:29

标签: c# entity-framework sql-server-2008

我正在使用Entity Framework 6.1版本。

我正在使用Entity Framework执行批量插入操作。我在使用DbContext时出现间歇性错误:

  

对象引用未设置为对象的实例"对于db context。

这是我的代码:

public class ApiTimingDataProvider : IApiTimingDataProvider
{
        private ApiTimingDbContext _apiDbContext;

        public ApiTimingDataProvider(ApiTimingDbContext apiDbContext)
        {
            if (apiDbContext == null)
                throw new ArgumentNullException("ApiDbContext is Null");

            _apiDbContext = apiDbContext;
        }

        public void InsertApiData(List<ApiTimingModel> apiModelList)
        {
            try
            {
                using (var ctx = _apiDbContext)
                {
                    using (var transactionScope = new TransactionScope())
                    {
                        // some stuff in dbcontext
                        ctx.Database.CommandTimeout = 600;
                        ctx.BulkInsert(apiModelList);

                        ctx.SaveChanges();
                        transactionScope.Complete();
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
}

有人能告诉我获得例外的原因吗?

0 个答案:

没有答案