J'ai une classe Pharmacy
qui contient beaucoup de propriétés, et une Pharmacy
est déclarée comme unique en ayant la propriété ID
comme clé.Vérifier si 2 objets contiennent les mêmes données dans les champs
J'ai le code en place qui récupère toutes les lignes d'une table de MySQL à Pharmacy
objets avec leurs propriétés.
Je veux comparer deux objets List<Pharmacy>
pour les entrées en eux et vérifier si la même ID
existe dans les deux tables, si elle n'existe pas, ajoutez-le à une nouvelle List<Pharmacy
. Si le ID
existe dans les deux mais les données dans les objets diffère, puis enregistrer cet objet à un nouveau List<Pharmacy
.
Voici à quoi ressemble la classe.
public class Pharmacy
{
[Key]
public string Tunniste { get; set; }
public string Lyhenne { get; set; }
public string PitkaNimi { get; set; }
public string YlempiYksikko { get; set; }
public string Hierarkiataso { get; set; }
public string VoimassaoloAlkaa { get; set; }
public string VoimassaoloPaattyy { get; set; }
...
}
C'est en finlandais mais j'espère que vous pouvez vivre avec ça. Voici comment j'ai essayé de vérifier s'ils sont identiques. Mais quand j'exécute cela, aucun des objets ne s'identifie comme identique, même s'ils sont identiques dans les données. Comment puis-je contourner cela?
Vous devez remplacer 'Equals' pour comparer la propriété ID, sinon seules les références sont comparées –
Sérialiser les deux objets et comparer les chaînes résultantes, pourrait être une option? – bartbje