Vb.net 继承的LINQ to SQL类在InsertOnSubmit上引发NullReferenceException
在我的datacontext,CalcinerDataContext中,我有一个类MainData和一个简单继承的类NewSample,它们只是用来探索这个错误。下面的代码运行时没有任何错误:Vb.net 继承的LINQ to SQL类在InsertOnSubmit上引发NullReferenceException,vb.net,linq-to-sql,nullreferenceexception,insertonsubmit,Vb.net,Linq To Sql,Nullreferenceexception,Insertonsubmit,在我的datacontext,CalcinerDataContext中,我有一个类MainData和一个简单继承的类NewSample,它们只是用来探索这个错误。下面的代码运行时没有任何错误: Dim cdc As New CalcinerDataAccess.CalcinerDataContext Dim newData As New CalcinerDataAccess.MainData With newData .Lo
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.InsertonSubmitentity实体。请注意,这两个代码块之间的唯一区别是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
为什么继承的类会抛出异常,而基类不会抛出异常?两个代码示例似乎完全相同。请检查并重新提交。在第二个代码集中,newData是NewSample的实例,而不是MainData。NewSample继承自MainData。在datacontext设计器中,我只添加了一个类NewSample,然后将继承连接器从MainData添加到NewSample。我没有向NewSample添加任何属性或方法。