Унаследованный класс LINQ to SQL создает исключение NullReferenceException для InsertOnSubmit - PullRequest
0 голосов
/ 18 марта 2011

В моем datacontext, 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).Обратите внимание, что единственное различие между этими двумя кодовыми блоками заключается в создании экземпляра 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

Почему унаследованный класс выдает исключение, а базовый класс - нет?

...