相关疑难解决方法(0)

实体框架 - 在事务内的"SaveChanges"之前检索ID

在实体框架中 - 在调用"SaveChanges"之前,有没有办法在事务中检索新创建的ID(标识)?

我需要第二个插入的ID,但它总是返回0 ...

        ObjectContext objectContext = ((IObjectContextAdapter)context).ObjectContext;

        objectContext.Connection.Open();

        using (var transaction = objectContext.Connection.BeginTransaction())
        {
            foreach (tblTest entity in saveItems)
            {
                this.context.Entry(entity).State = System.Data.EntityState.Added;
                this.context.Set<tblTest>().Add(entity);

                int testId = entity.TestID;

                .... Add another item using testId
            }

            try
            {
                context.SaveChanges();
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                objectContext.Connection.Close();
                throw ex;
            }
        }

        objectContext.Connection.Close();
Run Code Online (Sandbox Code Playgroud)

c# asp.net entity-framework

54
推荐指数
5
解决办法
6万
查看次数

EF Core Add函数返回负id

今天我注意到一个奇怪的事情,当我试图保存一个实体并在EF Core中返回它的id时

之前: 在将ID添加到数据库之前,Id为0 后: 现在id已更改为负值

我正在考虑是否在调用saveChanges()之前,但它适用于具有类似设置的另一个实体.

ps:我使用工作单元来保存最后的所有更改.

是什么原因?

entity-framework asp.net-core-1.0

23
推荐指数
1
解决办法
5636
查看次数

标签 统计

entity-framework ×2

asp.net ×1

asp.net-core-1.0 ×1

c# ×1