Besoin d'un conseil sur la «meilleure» façon d'implémenter les opérations de mise à jour et de suppression sur les DTO imbriqués complexes. Par exemple très simple, supposons que nous avons cette structure:Opérations CRUD sur le DTO complexe
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public Employer Company { get; set; }
}
public class Employer
{
public string Name { get; set; }
public string Address1 { get; set; }
public string City { get; set; }
public string State { get; set; }
}
Une mise à jour par personne que l'employeur peut signifier plusieurs choses ici: 1. Auparavant, il n'y avait pas l'employeur pour personne et nous devons faire insérer à DB à présenter un nouvel employeur. 2. Il y avait un employeur auparavant et nous mettre à jour uniquement des données internes 3. Employeur de l'employeur a été retiré de la personne
Question:
Si vous avez un domaine/activité objet compnent quelque chose comme PersonBusinessComponent avec certains méthode comme PersonBusinessComponent.Update (Person) Quel est le meilleur moyen d'identifier quel scénario est en cours d'exécution et d'appliquer des changements - ce qui signifie que s'il s'agit d'une opération de suppression, nous appellerons une méthode EmployerDALC.Delete ou s'il s'agit d'un Insert EmployerDALC.Insert etc ... Je comprends qu'une option est d'obtenir la version actuelle de la base de données, puis comparez péniblement pour l'existence de tous les objets imbriqués dans Person, mais j'espère qu'il y a un meilleur moyen ou même un moyen plus générique qui peut être implémenté pour gérer de telles opérations dans la solution entière.
Remarque: Je n'utilise pas MS Entity Framework.
Cela dépend de l'architecture de votre système. S'agit-il d'un modèle procédural, d'un modèle ActiveRecord ou d'un modèle de domaine? Je vois que vous utilisez des DTO, ce qui impliquerait un modèle de domaine. –