jcv*_*dan 12 c# entity-framework-4 ef-code-first
我正在向我的数据库添加一个实体,如下所示:
public TEntity Add(TEntity entity)
{
return (TEntity)_database.Set<TEntity>().Add(entity);
}
Run Code Online (Sandbox Code Playgroud)
但是,该DbSet.Add方法不会返回具有Id等的新添加的实体,它只是将我传入的对象返回到我的Add方法.
它是否应该让我回到完整的新实体,包括Id,或者是不可能得到Id之前SaveChanges()被称为?
Ste*_*bbs 18
所有Add()正在进行的调用都是有效地将其与数据上下文一起注册,以便可以跟踪实体.此时不会对数据库进行任何实际操作,直到(正如您提到的话)为止SaveChanges().
我假设您在表中使用自动生成的ID; 在这种情况下,它是数据库引擎,它将在插入记录时生成该Id,并且实体框架将读回来并为您填充您的实体.
所以,为了证实你的怀疑,不 - SaveChanges()在这种情况下调用之前不可能获得Id .
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
9142 次 |
| 最近记录: |