灰阶 2017-10-16 02:15 采纳率: 75%
浏览 1005

Entity Framework的使用问题

1.add(),SaveChange()失败后,怎么把之前的Add的Entity移除掉啊
不移除的话,不管后面做什么操作SaveChange()还是会失败,报同一个错误的

我要进行的是批量新增的操作,现在如果其中某一项出错了,就会停止了

 ProduceEntities db = dbEntities;
        private static ProduceEntities dbEntities
        {
            get
            {
                //更改为存线程内
                DbContext dbContext = CallContext.GetData(typeof(EntitiesHelper<T>).Name) as DbContext;
                if (dbContext == null)
                {
                    dbContext = new ProduceEntities();
                    dbContext.Configuration.ProxyCreationEnabled = false;
                    //dbContext.Configuration.LazyLoadingEnabled = false;
                    //dbContext.Configuration.ProxyCreationEnabled = false;
                    //dbContext.Configuration.ValidateOnSaveEnabled = false;
                    //将新创建的 ef上下文对象 存入线程
                    CallContext.SetData(typeof(EntitiesHelper<T>).Name, dbContext);
                }
                return dbContext as ProduceEntities;
            }
        }

2.一次Add,一个主对象和多个子对象(主外键,导航属性)
SaveChange() ==0 ,而且没有报错,而且主对象的ID已经非0了,查看数据库主子对象都已经保存成功了,这个是什么情况啊,为什么SaveChange() ==0?

  • 写回答

2条回答 默认 最新

  • 「已注销」 2017-10-18 01:53
    关注

    这种情况最好使用事务处理

    评论

报告相同问题?