Vb.net 尝试在实体模型中的PropertyChange事件中使用存储过程时未处理NullreferenceException

Vb.net 尝试在实体模型中的PropertyChange事件中使用存储过程时未处理NullreferenceException,vb.net,entity-framework,Vb.net,Entity Framework,我意识到,我几乎可以肯定自己是个笨蛋,但如果你能原谅这个双关语的话,这已经开始困扰我了 在我的实体数据模型中,我有一个实体的分部类,在该分部类中,我向PropertyChange事件添加了代码(我希望如此)根据对导入到模型中的存储过程的调用,并将其PropertyChange事件中的属性值用作参数,将该值分配给实体的另一个值 调用的基本语法(在vb中我应该添加)是 按原样使用会导致“用户代码未处理NullReferenceException”。所以为了解决这个问题,我尝试将其包装在try-cat

我意识到,我几乎可以肯定自己是个笨蛋,但如果你能原谅这个双关语的话,这已经开始困扰我了

在我的实体数据模型中,我有一个实体的分部类,在该分部类中,我向PropertyChange事件添加了代码(我希望如此)根据对导入到模型中的存储过程的调用,并将其PropertyChange事件中的属性值用作参数,将该值分配给实体的另一个值

调用的基本语法(在vb中我应该添加)是

按原样使用会导致“用户代码未处理NullReferenceException”。所以为了解决这个问题,我尝试将其包装在try-catch块和各种其他构造中,以捕获null。很明显,我完全没有找到null引用是什么,我知道一个正确值的参数正在传递给函数,我知道底层数据库中有数据返回一个值,所以为什么会发生这种情况

我希望正确地使用实体数据模型,因此积极地理解这一问题的原因将非常有帮助


非常感谢您对这件事的思考。

在异常的细节中,它是否有一个内部异常,告诉您哪个对象为空?这个问题的答案被证明是愚蠢的简单,这强化了我正在度过一个“密集”的一天这一事实。在函数调用中,tp引用实体集合,我无意中将其声明为;作为TPEnties的私有tp与作为新TPEntities的私有tp相反,我得到的空引用是因为tp不是我的entities集合的实际实例,因此根据定义,我猜函数本身不存在。
    Private Sub OnVesselIdChanging(value As Integer)
    PortOfLanding = tp.GetDefaultVesselLandingPort(value).SingleOrDefault
End Sub