Gebruik van ChangeInterceptor om "Relatie" -veranderingen/mutaties tussen entiteiten te inspecteren

Is er een manier om te zien hoe de relaties van een entiteit zijn beïnvloed/gewijzigd in een ChangeInterceptor ()? Hier is een voorbeeld met behulp van NorthWind Database, wanneer u een Orderentiteit verwijdert/verwijdert van een werknemerentiteit waar de relatie één-op-veel is, één werknemer veel orders heeft, hoe een order kan worden gedetecteerd uit de werknemersentiteit. Ik weet dat met behulp van de klasse ObjectStateEntry u GetModifiedProperties() kunt aanroepen om te zien welke eigenschappen zijn gewijzigd, maar hoe kunnen we zien welke collecties/associaties zijn gewijzigd ?. Heeft het iets te maken met de RelationshipManager?

[ChangeInterceptor("Employees"]
public void OnChangeEmployees(Employee employee, UpdateOperations operations)
{
    //I'm using EntityFramework 4.1
    //We have to dropdown the ObjectContext to detect IA, Independant Association, changes
    ObjectContext ctx = ((IObjectContextAdapter)this.CurrentDataSource).ObjectContext;

    ObjectStateEntry entry = ctx.ObjectStateManager.GetObjectStateEntry(employee);

    //What do I do here for detecting relationship changes.. I.E and Order was added?


} 

Bij voorbaat dank.

1

1 antwoord

In plaats van een ChangeInterceptor te gebruiken ... Implementeer gewoon de SavingChanges-gebeurtenisafhandelaar op de ObjectContext. Dit artikel legt uit hoe u kijken of de relatie van een entiteit is beïnvloed.

0
toegevoegd