【发布时间】:2013-05-15 02:09:54
【问题描述】:
我正在寻找解决问题的方法,但我得到的只是发生这种情况的原因,而不是阻止这种情况发生。
我有一个类WorkflowActivityInstance,它有一个WorkflowActivityInstanceTransitions 的集合,代表工作流状态的转换。转换映射在 Transitions 属性中。
因此:WorkflowActivityInstance WorkflowActivityInstanceTransition
我想要一个对象的视图,它会给出WorkflowActivityInstance 状态,包括它的当前状态,这只是最新的WorkflowActivityInstanceTransition,而不需要用户编码器在@987654328 上执行自己的排序和选择@属性。
原来,我有:
public virtual IWorkflowActivityInstanceTransition CurrentState
{
get { return Transitions.OrderBy(q => q.TransitionTimeStamp).LastOrDefault(); }
}
但我只是得到:
NHibernate.InvalidProxyTypeException: NHibernate.InvalidProxyTypeException:以下类型可能不是 用作代理: FB.SimpleWorkflow.NHibernate.Model.WorkflowActivityInstance:方法 CurrentState 应该是“公共/受保护的虚拟”或“受保护的” 内部虚拟'。
我试图厚脸皮并将其转换为一种方法:
public IWorkflowActivityInstanceTransition GetCurrentState()
{
return Transitions.OrderBy(q => q.TransitionTimeStamp).LastOrDefault();
}
但我得到一个非常相似的:
NHibernate.InvalidProxyTypeException: NHibernate.InvalidProxyTypeException:以下类型可能不是 用作代理: FB.SimpleWorkflow.NHibernate.Model.WorkflowActivityInstance:方法 GetCurrentState 应该是 'public/protected virtual' 或 'protected 内部虚拟'。
我想在我的模型类中保留 CurrentState 的非常简单的行为,并防止 NHibernate 超出自身范围并尝试映射/代理此属性。感觉这应该只是我不想映射的属性上的一个属性...
我怎样才能做到这一点?
【问题讨论】:
标签: nhibernate