C#实体框架:添加/插入记录并选择他而不保存更改[重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#实体框架:添加/插入记录并选择他而不保存更改[重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我在版本6.2.0中使用Entity Framework。 我对这个框架有一个简单的问题。 是否可以插入/添加记录,并在使用SaveChanges函数之前选择相同的记录?

我将尝试用简单的代码表示:

// prepare and add new record
User u = new User();
Context.Users.Add(u);
Context.Entry(u).State = EntityState.Added;

var y = (from x in Context.Users).FirstOrDefault(); // return null
// i expected that, in here i found new Created User 

Context.SaveChanges();

var y = (from x in Context.Ussers).FirstOrDefault(); // return != null

我这样做,因为我要加入一个创建的记录与其他几个表。

答案

DbSet有一个Local属性,表示集合的局部视图(包括AddedUnchangedModified实体)。你可以看到Entity Framework Local Data documentation获取更多信息。

以上是关于C#实体框架:添加/插入记录并选择他而不保存更改[重复]的主要内容,如果未能解决你的问题,请参考以下文章

实体框架 ChangeTracker 流并保存到查询

如何阻止实体框架尝试保存/插入子对象?

无法使用实体框架保存数据库更改

实体框架未将更改保存到数据库中

在实体框架中批量插入后批量插入记录并获取它们的 ID

如何使用 Hibernate session.save() 插入/保存对象而不更新旧记录