In my datacontext, CalcinerDataContext, I have a class, MainData, and a simply inherited class, NewSample (used just to explore this error). The code below runs without any errors:
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
The code below generates the following error: System.NullReferenceException: Object reference not set to an instance of an object. at System.Data.Linq.Table`1.InsertOnSubmit(TEntity entity). Note that the only difference between these two code blocks is the instantiation of 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
Why does the inherited class throw an exception, but the base class does not?