EntityKey.IsTemporary 属性

定义

获取一个值,该值指示 EntityKey 是否是临时的。

public:
 property bool IsTemporary { bool get(); };
public bool IsTemporary { get; }
member this.IsTemporary : bool
Public ReadOnly Property IsTemporary As Boolean

属性值

如果 EntityKey 是临时的,则为 true;否则为 false

注解

创建新实体时,实体框架定义临时键并将 IsTemporary 属性设置为 true。 调用 SaveChanges 方法时,实体框架会分配一个永久键并将 属性 IsTemporary 设置为 false

注意

临时键是由框架自动构造的,用户不能直接构造。

临时键与永久键的比较语义不同:

  • 临时键使用引用相等性。 也就是说,对同一个临时 EntityKey 实例的两个引用是相等的,但其他 EntityKey 实例不相等。

  • 永久键根据所包含的键属性的值和 EntitySet 来确定相等性。 也就是说,对于两个独立的 EntityKey 实例,如果它们的实体集相同并且键值相等,则这两个实例相等。

此外,临时键没有 EntitySet 或键值,但永久键有。

AcceptChanges当对实体ObjectStateEntry调用 方法并且实体从Added状态转换到Unchanged状态时,实体框架会自动计算实体的新永久键并同步所有临时键引用。

适用于