私はガイドとしてこのAsp .Netチュートリアルに従っています:
挿入および更新時にレコードが重複しないようにカスタム エラーを作成しました
Public Class DuplicateAgencyException
Inherits Exception
Public Sub New(ByVal message As String)
MyBase.New(message)
End Sub
End Class
挿入または更新時に重複をチェックする検証メソッドを作成しました。
Public Sub ValidateAgencyName(ByVal agency As agency_temp)
If Not IsNothing(agency) Then
Dim duplicateAgency As agency_temp = AgencyRepository.GetAgencyByName(agency.agency_name).FirstOrDefault()
If Not IsNothing(duplicateAgency) AndAlso duplicateAgency.agency_id <> agency.agency_id Then
Throw New DuplicateAgencyException(String.Format("Agency: {0} already exists.", duplicateAgency.agency_name))
End If
End If
End Sub
単体テストを実行してレコードを挿入し、意図的に複製を挿入すると、正しいエラーがスローされます。ここで、OnInserted や OnUpdated など、このデータを表示する ObjectDataSource でこのエラーを処理する必要がありますが、その点にさえ到達できません。レコードを挿入すると、DuplicateAgencyException がユーザー コードによって処理されなかったことを示すエラー アシスタントが表示されます。試してみる必要がありますか...キャッチしますか?(私は無駄にそれを試みました)。