Tag: insertonsubmit

如何在不提交和重新查询的情况下获取记录的ID?

我有一个设置为自动增量的ID(显然是int)。 var dc = new DataContext([STRING]); var usersTable = dc.GetTable(); var user = usersTable.FirstOrDefault(o => o.Username.Equals(“NAME”)); if (user == null) { user = new Audit_User() { Username = “NAME” }; usersTable.InsertOnSubmit(user); } //HERE – I need access to the user Id dc.SubmitChanges(); 有关更多上下文,请参阅标签。

在LINQ to SQL中执行InsertOnSubmit时出现NullReferenceException

在我的数据库中,我有一个名为StaffMembers的表 当我通过linq-to-sql将它带入我的.net项目时,会创建一个实体类StaffMember 现在我还在我的项目中创建了一个部分类StaffMember,以添加我在其他顶层使用的额外属性。 例如。 IsDeleted属性。 此partial类还inheritance了一个抽象类和接口,以确保还实现了一些其他属性。 现在当我创建一个新的“StaffMember”实例时 例如。 StaffMember newStaff = new StaffMember(); 并给它所有的属性等 然后通过我的Manager调用上下文中的InsertOnSubmit。 Add(StaffMember newStaff) { context.StaffMembers.InsertOnSubmit(newStaff); context.Save(); } 我得到一个“对象引用未设置为对象的实例”错误。 on 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 […]