Freigeben über


ObjectStateManager.ChangeRelationshipState<TEntity>-Methode (TEntity, Object, Expression<Func<TEntity, Object>>, EntityState)

[Diese Seite bezieht sich auf Entity Framework Version 6. Die neueste Version ist als 'Entity Framework' NuGet-Paket verfügbar. Weitere Informationen zu Entity Framework finden Sie unter msdn.com/data/ef.]

Ändert den Status der Beziehung zwischen zwei Entitätsobjekten, der auf Grundlage der beiden verknüpften Objekte und eines LINQ-Ausdrucks, der die Navigationseigenschaft definiert, angegeben wird.

Namespace:  System.Data.Entity.Core.Objects
Assembly:  EntityFramework (in EntityFramework.dll)

Syntax

'Declaration
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Overridable Function ChangeRelationshipState(Of TEntity As Class) ( _
    sourceEntity As TEntity, _
    targetEntity As Object, _
    navigationPropertySelector As Expression(Of Func(Of TEntity, Object)), _
    relationshipState As EntityState _
) As ObjectStateEntry
'Usage
Dim instance As ObjectStateManager 
Dim sourceEntity As TEntity
Dim targetEntity As Object 
Dim navigationPropertySelector As Expression(Of Func(Of TEntity, Object))
Dim relationshipState As EntityState 
Dim returnValue As ObjectStateEntry 

returnValue = instance.ChangeRelationshipState(sourceEntity, _
    targetEntity, navigationPropertySelector, _
    relationshipState)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public virtual ObjectStateEntry ChangeRelationshipState<TEntity>(
    TEntity sourceEntity,
    Object targetEntity,
    Expression<Func<TEntity, Object>> navigationPropertySelector,
    EntityState relationshipState
)
where TEntity : class
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TEntity>
where TEntity : ref class 
virtual ObjectStateEntry^ ChangeRelationshipState(
    TEntity sourceEntity, 
    Object^ targetEntity, 
    Expression<Func<TEntity, Object^>^>^ navigationPropertySelector, 
    EntityState relationshipState
)
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
abstract ChangeRelationshipState : 
        sourceEntity:'TEntity * 
        targetEntity:Object * 
        navigationPropertySelector:Expression<Func<'TEntity, Object>> * 
        relationshipState:EntityState -> ObjectStateEntry   when 'TEntity : not struct
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
override ChangeRelationshipState : 
        sourceEntity:'TEntity * 
        targetEntity:Object * 
        navigationPropertySelector:Expression<Func<'TEntity, Object>> * 
        relationshipState:EntityState -> ObjectStateEntry   when 'TEntity : not struct
JScript does not support generic types and methods.

Typparameter

  • TEntity
    Der Entitätstyp des Quellobjekts.

Parameter

  • sourceEntity
    Typ: TEntity
    Die Objektinstanz oder der EntityKey der Quellentität an einem Ende der Beziehung.
  • targetEntity
    Typ: System.Object
    Die Objektinstanz oder der EntityKey der Zielentität am anderen Ende der Beziehung.

Rückgabewert

Typ: System.Data.Entity.Core.Objects.ObjectStateEntry
Der ObjectStateEntry für die geänderte Beziehung.

Ausnahmen

Ausnahme Bedingung
ArgumentNullException

Wenn die Quelle, das Ziel oder der Selektor NULL ist.

ArgumentException

Der Selektor ist falsch formatiert oder kann keine Navigationseigenschaft zurückgeben.

InvalidOperationException

Wenn Sie versuchen, den Status der Beziehung in einen anderen Wert als Deleted oder Detached zu ändern und entweder die Quelle oder das Ziel den Status Deleted aufweist, oder wenn Sie versuchen, den Status der Beziehung in einen anderen Wert als Added oder Detached zu ändern und entweder die Quelle oder das Ziel den Status Added aufweist, oder wenn der Status kein gültiger EntityState-Wert ist.

Siehe auch

Verweis

ObjectStateManager Klasse

ChangeRelationshipState-Überladung

System.Data.Entity.Core.Objects-Namespace