NHibernateセッションがあります。このセッションでは、正確に1つの操作を実行しています。これは、次のコードを実行してリストを取得することです。
public IList<Customer> GetCustomerByFirstName(string customerFirstName)
{
return _session.CreateCriteria(typeof(Customer))
.Add(new NHibernate.Expression.EqExpression("FirstName", customerFirstName))
.List<Customer>();
}
Session.Flush()の最後に電話をかけていHttpRequestますが、が表示されHibernateAdoExceptionます。NHibernateがデータベースに更新ステートメントを渡し、外部キー違反を引き起こしています。を実行しない場合flush、リクエストは問題なく完了します。ここでの問題は、このコードが他の領域で再利用されるため、他のセッション内で変更が発生した場合に備えて、フラッシュを配置する必要があることです。不足している可能性のある別の構成設定はありますか?
例外のコードは次のとおりです。
[SQL: UPDATE CUSTOMER SET first_name = ?, last_name = ?, strategy_code_1 = ?, strategy_code_2 = ?, strategy_code_3 = ?, dts_import = ?, account_cycle_code = ?, bucket = ?, collector_code = ?, days_delinquent_count = ?, external_status_code = ?, principal_balance_amount = ?, total_min_pay_due = ?, current_balance = ?, amount_delinquent = ?, current_min_pay_due = ?, bucket_1 = ?, bucket_2 = ?, bucket_3 = ?, bucket_4 = ?, bucket_5 = ?, bucket_6 = ?, bucket_7 = ? WHERE customer_account_id = ?]
渡されたものとして表示されているパラメーターはありません。