gpt4 book ai didi

c# - 是否可以让 Entity Framework 识别已创建但尚未保存在数据库中的对象?

转载 作者:太空狗 更新时间:2023-10-30 00:27:29 24 4
gpt4 key购买 nike

假设 Table1 是一个有两列的表。 Table1ID 和名称。

如果我执行以下代码...

var Obj1 = new Table1();
Obj1.Name = "hello"
TestDBEntities.AddToTable1(Obj1);

var currObj = Table1.Where(o => o.Name.Contains("hello")).FirstOrDefault();

currObj 将返回 null。

但如果我这样做

var Obj1 = new Table1();
Obj1.Name = "hello"
TestDBEntities.AddToTable1(Obj1);
**TestDBEntitles.SaveChanges();**

var currObj = Table1.Where(o => o.Name.Contains("hello")).FirstOrDefault();

然后 currObj 将返回我创建的第一个对象。这是因为该对象在数据库中。

我正在创建一个大型批处理过程,我不想在结束之前将所有内容都保存到数据库中。但是,我必须进行检查,例如确保尚未添加某个对象等,这要求我在将这些对象保存到数据库之前引用它们。

是否可以在 Entity Framework 中进行 LINQ 查询,以了解内存中尚未保存到数据库的对象。

最佳答案

我来晚了...@DavidWicks 的回答并不能说明全部!

上下文确实提供了一种查询机制 - 并且它在 EF4.1 中比 4.0 中容易得多

在 4.1 中查看 http://msdn.microsoft.com/en-us/library/gg696248(v=vs.103).aspx dbSet.Local 属性包含上下文中对象(尚未删除)的所有本地更改,因此您只需要查询它!

关于c# - 是否可以让 Entity Framework 识别已创建但尚未保存在数据库中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6400064/

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