在我的数据库中,我有一个名为 StaffMembers 的表
当我通过 linq-to-sql 将它带入我的 .net 项目时,会创建一个实体类 StaffMember
现在我还在我的项目中创建了一个部分类 StaffMember,以添加我在其他顶层中使用的额外属性。例如。IsDeleted 属性。这个分部类还继承了一个抽象类和接口,以确保还实现了一些其他属性。
现在,当我创建“StaffMember”的新实例时
例如。员工新员工 = 新员工会员();并赋予它所有的属性等
然后通过我的经理在上下文中调用 InsertOnSubmit。
Add(StaffMember newStaff)
{
context.StaffMembers.InsertOnSubmit(newStaff);
context.Save();
}
我收到“对象引用未设置为对象的实例”错误。
在 context.StaffMembers.InsertOnSubmit(newStaff);
堆栈说
" at System.Data.Linq.Mapping.EntitySetDefSourceAccessor`2.GetValue(T instance)\r\n at
System.Data.Linq.Mapping.MetaAccessor`2.GetBoxedValue(Object instance)\r\n at
System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.HasDeferredLoader(MetaDataMember deferredMember)\r\n at
System.Data.Linq.ChangeTracker.StandardChangeTracker.StandardTrackedObject.get_HasDeferredLoaders()\r\n at
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(MetaType mt, Object obj, Dictionary`2 visited, Boolean recurse, Int32 level)\r\n at
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(Object obj, Boolean recurse)\r\n at
System.Data.Linq.ChangeTracker.StandardChangeTracker.Track(Object obj)\r\n at System.Data.Linq.Table`1.InsertOnSubmit(TEntity entity)\r\n at
BusinessObjects.StaffMemberManager.Add(StaffMember staffMember) in
C:\\StaffMemberManager.cs:line 251"
知道为什么会发生这种情况以及解决方法是什么。
谢谢