Entity framework 4 实体框架4:Repository方法T Add(T Entity)返回T:这真的会发生吗(没有SaveChanges)?

Entity framework 4 实体框架4:Repository方法T Add(T Entity)返回T:这真的会发生吗(没有SaveChanges)?,entity-framework-4,Entity Framework 4,如果您有一个存储库接口,其中包括 T Add( T entity); 存储库不包含Save()或SaveChanges()。如果要返回“实体”,请使用: 我不希望这会影响数据库并自动生成标识值(自动递增)。两个问题: 假设ID是一个标识(自动递增)字段,那么它的字段中会有哪些值 当这确实保存时,我们能期望返回的对象中的标识字段自动更新吗 是否有一个命令可以从存储库外部的数据库更新对象引用 这是使用ASP.NET POCO Generator for Entity Framework 4和虚拟属

如果您有一个存储库接口,其中包括

T Add( T entity);
存储库不包含Save()或SaveChanges()。如果要返回“实体”,请使用:

我不希望这会影响数据库并自动生成标识值(自动递增)。两个问题:

  • 假设ID是一个标识(自动递增)字段,那么它的字段中会有哪些值
  • 当这确实保存时,我们能期望返回的对象中的标识字段自动更新吗
  • 是否有一个命令可以从存储库外部的数据库更新对象引用

  • 这是使用ASP.NET POCO Generator for Entity Framework 4和虚拟属性。

    \u dc.Entities。任何
    都将始终命中数据库。LINQ to实体始终命中数据库。即使对象已经在上下文中

    如果对象已经在上下文中,要避免DB查询,请使用
    ObjectContext.GetObjectByKey()

    保存前,自动递增的
    int
    long
    将为
    0
    。是的,在保存时会更新此选项。只要对象附加到上下文,它们都会看到这一点

    return _dc.Entities.Where( n => n.ID == entity.ID).Single();