gpt4 book ai didi

c# - 如果已经有正在跟踪的已更改对象,是否有任何方法可以使用 Entity Framework Core 保存单个对象?

转载 作者:行者123 更新时间:2023-11-30 23:03:33 27 4
gpt4 key购买 nike

使用 Entity Framework Core,我正在对要保存的对象进行批处理。在此批处理过程中,我想显式创建一个新对象,但我不想创建其他对象。

public void Generate()
{
DbContext context = GetDbContext();
context.Add(new MyUser());
context.Add(new MyUser());
DoSomethingElse(context);
context.SaveChanges();
}

public void DoSomethingElse(DbContext context)
{
var something = new Something();
// add new object and save only this new object
}

有没有办法在不保存这两个 User 对象的情况下保存 something

我考虑过使用 DbContext 的新实例,实例化的成本会很高吗?

最佳答案

如果 DoSomethingElse 不依赖于之前的操作,则考虑将 then 分成不同的工作单元。

例如

public void Generate() {
DbContext context = GetDbContext();
DoSomething(context);
DoSomethingElse(context);
}

public void DoSomething(DbContext context) {
var something = new Something();

// add new object and save only this new object

context.SaveChanges();
}

public void DoSomethingElse(DbContext context) {
context.Add(new MyUser());
context.Add(new MyUser());
context.SaveChanges();
}

关于c# - 如果已经有正在跟踪的已更改对象,是否有任何方法可以使用 Entity Framework Core 保存单个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49877078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com