私は自分の問題の解決策を探していますが、発生しないようにするのではなく、これが発生する理由だけが得られます。
ワークフローの状態の遷移を表すWorkflowActivityInstance
コレクションを持つクラスがあります。WorkflowActivityInstanceTransitions
トランジションはTransitions
プロパティ ファインにマッピングされます。
したがって: WorkflowActivityInstance
<--WorkflowActivityInstanceTransition
WorkflowActivityInstance
現在の状態を含む状態を提供するオブジェクトのビューが必要です。これはWorkflowActivityInstanceTransition
、ユーザーコーダーがプロパティで独自の並べ替えと選択を実行することなく、単に最新のものになりTransitions
ます。
もともと、私は持っていました:
public virtual IWorkflowActivityInstanceTransition CurrentState
{
get { return Transitions.OrderBy(q => q.TransitionTimeStamp).LastOrDefault(); }
}
しかし、私はただ得ます:
NHibernate.InvalidProxyTypeException: NHibernate.InvalidProxyTypeException: 次の型はプロキシとして使用できません: FB.SimpleWorkflow.NHibernate.Model.WorkflowActivityInstance: メソッド CurrentState は、'public/protected virtual' または 'protected internal virtual' である必要があります。
私は生意気で、これをメソッドに変換しようとしました:
public IWorkflowActivityInstanceTransition GetCurrentState()
{
return Transitions.OrderBy(q => q.TransitionTimeStamp).LastOrDefault();
}
しかし、私は非常に似ています:
NHibernate.InvalidProxyTypeException: NHibernate.InvalidProxyTypeException: 次の型はプロキシとして使用できない場合があります: FB.SimpleWorkflow.NHibernate.Model.WorkflowActivityInstance: メソッド GetCurrentState は、'public/protected virtual' または 'protected internal virtual' である必要があります。
モデル クラスで の非常に単純な動作を維持し、CurrentState
NHibernate が自分自身に過度に到達してこのプロパティをマップ/プロキシしようとするのを防ぎたいと考えています。これは、マップしたくないプロパティの属性であるべきだと感じています...
どうすればこれを達成できますか?