我在Castle AR中有一个关系的以下映射
[BelongsTo("EVENT_ID", Lazy = FetchWhen.OnInvoke)]
public EventType PayEvent
{
get
{
return m_PayEvent;
}
set
{
m_PayEvent = value;
}
}
但是即使没有调用属性,也会获取Relation。这里有什么遗漏?我也在使用SessionScope。
答案 0 :(得分:5)
It works for me。确保将实体标记为延迟,并且属性和方法都是虚拟的。
答案 1 :(得分:0)
此外,如果将NotFoundBehaviour设置为Ignore
,则BelongsTo关系的延迟加载不起作用样品:
[BelongsTo("EVENT_ID", Lazy=FetchWhen.OnInvoke, NotFoundBehaviour:=NotFoundBehaviour.Ignore)]
答案 2 :(得分:-3)
您无法启用属于关系的延迟加载 见{{3br /> 你可以自己实现它 将ID存储在模型中,然后:
public ServicePlan PreviousServicePlan
{
get
{
if (previousServicePlan == null)
previousServicePlan = ActiveRecordMediator<ServicePlan>
.FindByPrimaryKey(PreviousServicePlanId, false);
return previousServicePlan;
}
private set
{
previousServicePlan = value;
}
}