他の 2 つのテーブルを多対多の関係で結合する非常に単純なデータベース テーブルがあります。
(ほとんどの場合、ユーザーを質問に参加させます - ブックマークを考えてください)
このテーブルの NHibernate エンティティは次のようになります。
public class UserToRequestSubscription
{
public virtual int Id{get;set;}
public vitual int UserId{get;set;}
public virtual int RequestId { get; set; }
public virtual bool AcceptedByRequester { get; set; }
}
私がやりたいのは、新しいプロパティを追加することです:
public virtual RequestForHelp Request { get; set; }
これまでのところ、これを選択で機能させることができます。私のUserToRequestSubscriptionMapping
中で私は簡単に行うことができます: References(x => x.Request)
.
私が抱えている問題は、UserToRequestSubscription
スローする new を挿入しようとするときです: Invalid index 6 for this SqlParameterCollection with Count=6.
。
このエラーを読んだところ、RequestId
プロパティを削除すると消えますが、これがないと、新しいサブスクリプションを挿入するときに DB の RequestId フィールドにデータが入力されません。
どうすればこれを行うことができますか?
ここでの私の目的は、RequestForHelp
アイテムの DB への余分な呼び出しを省くことです。
マッピング クラスは次のとおりです。
public UserToRequestSubscriptionMapping()
{
Id(x => x.Id);
Map(x => x.UserId);
Map(x => x.RequestId);
Map(x => x.CreatedDate);
Map(x => x.AcceptedByRequester);
Map(x => x.IsActive);
Map(x => x.DeactivatedDate);
References(x => x.Request).Column("RequestId");
Table("TheTable");
}