问题描述
我正在尝试在nhibernate中创建ManyToOne关系,但是我很难做到这一点。我正在尝试将请求与请求在其生命周期内可能处于的所有状态联系起来。到目前为止,我得到了以下
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; }
}
映射:
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();
}
但是当我从数据库中检索信息时,会得到重复的行。我收到了所有请求,每个请求都有其状态列表,但每个请求有多个statuschange的请求都会返回多次。例如:
RequestEntity1(ID = 1; statuschanges(状态更改1,状态更改2)),RequestEntity2(ID = 1; statuschanges(状态更改1,状态更改2))
你知道我在跳过什么吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)