J'ai un client de classe comme ça:coulée NHibernate Lazy objets chargés (problème Proxy)
public class Client{
public Person Pers { get; set; }
}
Et je 2 Person's classe enfant:
public class PersonType1 : Person {...}
public class PersonType2 : Person {...}
Maintenant je charger un client. .. et je dois obtenir les attributs PersonType1 ou PersonType2 ..
J'ai essayé:
var _pj = ((PersonType1) _client.Pers);
Mais cela ne fonctionne pas, parce que le type _client.Pers est un proxy (charge Lazy vrai) ...
Est-il possible de le faire? J'ai plusieurs attributs dans chaque PersonType, il est donc pas une bonne idée de créer un override virtuel/pour chaque attribut (Person-> PersonType1) ...
Merci
Est-ce que ce travail même avec lazy = "false"? Si 'Pers' est un type de proxy de PersonType1 ce casting fonctionnerait par nature du polymorphisme. Ma conjecture est qu'elle ne retourne pas 'PersonType1', mais 'Person'. – Trent