私のデータ コンテキスト CalcinerDataContext には、クラス MainData と、単純に継承されたクラス NewSample (このエラーを調査するためだけに使用) があります。以下のコードはエラーなしで実行されます。
Dim cdc As New CalcinerDataAccess.CalcinerDataContext
Dim newData As New CalcinerDataAccess.MainData
With newData
.LotNumber = "Test1"
.ProcessType = 4
.SubmitterID = 2
.Calciner = 1
.DateEntered = Now
End With
Try
cdc.MainDatas.InsertOnSubmit(newData)
Catch ex As Exception
Debug.WriteLine(ex.ToString)
MsgBox(ex.Message)
End Try
次のコードは、次のエラーを生成します: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。System.Data.Linq.Table`1.InsertOnSubmit (TEntity エンティティ) で。これら 2 つのコード ブロックの唯一の違いは、newData のインスタンス化であることに注意してください。
Dim cdc As New CalcinerDataAccess.CalcinerDataContext
Dim newData As New CalcinerDataAccess.NewSample
With newData
.LotNumber = "Test1"
.ProcessType = 4
.SubmitterID = 2
.Calciner = 1
.DateEntered = Now
End With
Try
cdc.MainDatas.InsertOnSubmit(newData)
Catch ex As Exception
Debug.WriteLine(ex.ToString)
MsgBox(ex.Message)
End Try
継承されたクラスは例外をスローするのに、基底クラスはスローしないのはなぜですか?