public class RequestEntity
{
public virtual Guid strID { get; set; }
...
public virtual IList<StatusChangeEntity> colStatusChange { get; set; }
}
public class StatusChangeEntity
{
public virtual Guid strCode { get; set; }
...
public virtual RequestEntity objRequest { get; set; }
}
Mapping:
public RequestMap()
{
Table("tbl_requests");
Id(x => x.strID).GeneratedBy.Guid();
...
HasMany<StatusChangeEntity>(x => x.colStatusChange)
.Cascade.All()
.KeyColumn("strRequest")
.Fetch.Join();
}
public StatusChangeMap()
{
Table("tbl_statuschanges");
Id(x => x.strCode).GeneratedBy.Guid();
References(x => x.objRequest)
.Cascade.All()
.Class<RequestEntity>()
.Column("strRequest")
.Unique();
}
It seems to work as I get the requests with it respective list of status changes, but the list of requests contains duplicates. I got all the request, each one of them with their list of statuschages, but each request with more than one statuschange is return multiple times (one time per status change).Ex: