Je suis assez nouveau pour nhibernate et fluent nhibernate, j'ai un problème avec l'association d'une collection à une requête. Dans la base de données, j'ai un puits et j'ai 4 AFE associés. Le problème que j'ai est que la collection d'AFE ne se peuple pas correctement. Peu importe ce que je fais, j'ai 4 AFE dans la collection mais ils sont tous le même objet. Y at-il quelque chose d'évident que je me trompe?Fluent Nhibernate Mapping Problème
Merci
PS. Je n'ai pas de changement d'accès à la base de données que je frappe, donc je ne peux pas changer la base de données pour en faire un vrai FK.
Parent
public WellHeaderMap()
{
Table("Well");
Id(x => x.PropertyNumber, "WELL_NUMBER");
Map(x => x.PropertyID, "PROPERTY_ID");
Map(x => x.Name, "WELL_NAME");
//AFEs is a IList<AFE>
HasMany(x => x.AFEs).Inverse().KeyColumn("Property_ID").PropertyRef("PropertyID").Fetch.Join();
}
Collection
public AFEMap()
{
Table("AFE");
Id(x => x.PropertyID, "PROPERTY_ID");
Map(x => x.AFETypeID, "AFE_TYPE_CODE");
Map(x => x.AFENumber, "AFE_NUMBER");
Map(x => x.IsDeleted, "DELETED_IND");
}
Recherche
var wellSearchCriteria = _session.CreateCriteria<WellHeader>()
.CreateAlias("AFEs", "afe")
.Add(Restrictions.Eq("PropertyNumber", id.ToString()))
//.Add(Expression.Eq("afe.AFETypeID", "01"))
//.Add(Expression.Eq("afe.IsDeleted", "N"));
Est-ce que wellHeader.AFE renvoie les mêmes 4 entités? – mxmissile
Difficile d'en être sûr sans voir la structure de votre table, la structure des classes et les cartographies. Êtes-vous sûr de vouloir que le 'HasMany' soit inversé pour un' many-to-one'? Je ne vois pas de propriété renvoyant au parent pour soutenir cette relation. –
Oui, wellHeader.AFES renvoie toujours la même chose 4. Même si j'ajoute un commentaire à l'afe dans la requête, je devrais seulement retourner 1 AFE, mais il renvoie encore 4. Je pense que j'ai jeté l'inverse là juste à cause d'un échantillon a trouvé. Même résultat si je laisse l'inverse éteint. – SnyderJK