0

私のデータ コンテキスト 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

継承されたクラスは例外をスローするのに、基底クラスはスローしないのはなぜですか?

4

0 に答える 0