LINQ to SQL trouble



我在使用 LINQ to SQL 实体时遇到以下问题:

// Context is DataContext that was auto genereted when i create my .dbml file
var cl = Context.Classes.ToArray();
var rm = Context.Rooms.ToArray();
List<DaySchedule> s = new List<DaySchedule>();
s.Add(new DaySchedule()
    {
        Class = cl[0],
        DayOfWeek = 0,
        Pair = 1,
        Room = rm[0]
    });
Context.SubmitChanges();

因此,在"提交更改"之后,新的日计划将保存到数据库。但是我没有调用InsertOnSubmit函数,我不想保存这个DaySchedule。

顺便说一句,如果我将使用以下代码:

s.Add(new Acceron.University.DBAccess.DaySchedule()
    {
        Class_id = cl[0].Class_ID,
        DayOfWeek = 0,
        Pair = 1,
        Room_id = rm[0].Room_ID
    });

它不会自动保存到数据库。

你能解释一下它是错误还是功能以及我如何解决它吗?

这是设计使然。 类和房间是上下文感知实体,因为它们是针对上下文查询的。 每当上下文感知实体添加子项时,它都会自动将这些更改排队到上下文中,并将其标记为已插入。 因此,如果没有自动排队功能,则无法添加新实体。 我强烈建议以后不要调用保存更改。

相关内容

  • 没有找到相关文章

最新更新