Je sais que dans NHibernate vous pouvez avoir des mappages d'héritage, et je sais que vous pouvez avoir une table par classe, une table par sous-classe et une table par classe concrète, mais elles ne correspondent pas vraiment au scénario J'ai.NHibernate Inheritance Mapping
Fondamentalement, ce que je veux est d'être en mesure d'avoir une classe de base appelée produit qui ressemble à ceci:
public class BaseProduct
{
public virtual int ProductId {get;set;}
public virtual string ProductName {get;set;}
}
qui correspond directement à une table de produits.
Alors je veux avoir une classe de produit qui hérite de BaseProduct comme ceci:
public class Product : BaseProduct
{
public virtual IList<Category> Categories {get;set;}
}
La chose est que la classe Product devrait toujours mapper à la table des produits, la seule différence étant que cette mise en œuvre a liste des catégories attachées. Sans entrer dans les raisons techniques pour lesquelles j'ai besoin de faire cela, je voudrais savoir si c'est possible?
Quand utiliseriez-vous une classe par rapport à l'autre? –
Le problème de base est donc de sérialiser les proxies NHibernate via WCF. Si j'ai une requête où je veux renvoyer un produit de base seulement, alors je chargerais normalement la collection de Catégories, mais malheureusement, cela ne fonctionne pas si bien dans WCF parce qu'il essayera toujours et chargera paresseux les catégories sur serializtion. – lomaxx