Я довольно новичок в nhibernate и свободно владею nhibernate, у меня проблема с привязкой коллекции к запросу. В базе данных у меня есть скважина и 4 связанных AFE. У меня проблема в том, что коллекция AFE не заполняется правильно. Независимо от того, что я делаю, я получаю 4 AFE в коллекции, но они все один и тот же объект. Есть ли что-то очевидное, что я делаю не так?
Спасибо
PS. У меня нет доступа к базе данных, к которой я обращаюсь, поэтому я не могу изменить базу данных, чтобы сделать это настоящим FK.
Родитель
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();
}
Коллекция
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");
}
Запрос
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"));