小编Gra*_*ram的帖子

Firebug:在断点期间,无法执行控制台语句

我在Firebug中看到以下行为:

当调试器在断点处暂停时,如果我转到控制台并尝试执行语句,则该Enter键只保留添加行而不是执行.

我试过打Shift+ Enter和Ctrl+ Enter也无济于事.

javascript debugging firefox firebug

10
推荐指数
1
解决办法
1017
查看次数

实体框架以错误的顺序插入子对象

题

为什么EF首先在它所依赖的对象(TimesheetActivity)之前插入具有依赖项的子对象(PersonnelWorkRecord).还有什么我可以选择纠正这个?

ERD(简化)

这是由我直接控制的另一个系统预定义的. ERD2

EF设置和保存代码

我不确定我理解为什么/如何实体框架按照它的顺序插入我拥有的对象,但这里是我用来插入父和几个孩子的代码.

using (var db = new DataContext(user))
{
     timesheet.State = State.Added;
     timesheet.SequenceNumber = newSequenceNumber;
     this.PrepareAuditFields(timesheet);

     //To stop EF from trying to add all child objects remove them from the timehseets object.
     timesheet = RemoveChildObjects(timesheet, db);

     //Add the Timesheet object to the database context, and save.
     db.Timesheets.Add(timesheet);
     result = db.SaveChanges() > 0;
}
Run Code Online (Sandbox Code Playgroud)

EF插入的SQL跟踪

当我运行代码时,我在PersonnelWorkRecord(TimesheetActivityID)上遇到SQL外键冲突,因为我还没有添加Activity(请参阅trace).

exec sp_executesql N'insert [dbo].[Timesheets]([ProjectID], [TimesheetStatusID], ...
exec sp_executesql N'insert [dbo].[PersonnelWorkdays]([TimesheetID], [PersonnelID], ...
exec sp_executesql N'insert [dbo].[PersonnelWorkRecords]([PersonnelWorkdayID],[TimesheetActivityID], ...
Run Code Online (Sandbox Code Playgroud)

数据上下文摘要

modelBuilder.Entity<PersonnelWorkday>().HasRequired(pwd => pwd.Personnel).WithMany(p …
Run Code Online (Sandbox Code Playgroud)

c# t-sql entity-framework parent-child relational-database

8
推荐指数
1
解决办法
3619
查看次数