C# 最后保存集合中的最后一个实体

C# 最后保存集合中的最后一个实体,c#,.net,entity-framework,C#,.net,Entity Framework,我在一个集合中有一个实体集合,每个实体都有一个时间字段,指定创建它们的时间 我要做的是保存列表中除最后一个之外的所有实体,然后在第二个SaveChanges()中保存最后一个实体。我之所以希望这样,是因为如果我有一组新实体,我希望最后保存的那个实体能够触发存储过程中的代码以进行插入 例如: 我的问题是——这可能吗?目前我认为唯一可行的方法是将实体标记为未修改或已删除,但两者都不起作用 有什么想法吗 如果您需要这样做,那么您的设计确实有些可疑。你想用存储过程中的代码实现什么?我知道这是一个有点特殊

我在一个集合中有一个实体集合,每个实体都有一个时间字段,指定创建它们的时间

我要做的是保存列表中除最后一个之外的所有实体,然后在第二个SaveChanges()中保存最后一个实体。我之所以希望这样,是因为如果我有一组新实体,我希望最后保存的那个实体能够触发存储过程中的代码以进行插入

例如:

我的问题是——这可能吗?目前我认为唯一可行的方法是将实体标记为未修改或已删除,但两者都不起作用


有什么想法吗

如果您需要这样做,那么您的设计确实有些可疑。你想用存储过程中的代码实现什么?我知道这是一个有点特殊的问题,我的理由是因为我有一个应用程序,可以让你在一个帐户上存5笔取款。每一个都使天平越来越小,直到天平为零。这将有效地关闭该账户。当传递一个将帐户归零的事务(这会触发某些特定代码)时,后端关闭帐户。由于对帐户可以使用的最小值的限制,我需要能够在帐户上保存我的交易。目前,我唯一能看到的方法是不添加我想最后保存的最终交易,而是将其存储在临时集合中。当需要节省时间时,请按原样保存模型,然后将剩余的事务添加到帐户并再次保存。
using (var dbContextTransaction = Account.dbContext.Database.BeginTransaction())
 {

Tranasction t = Account.Transactions.OrderBy(t => t.CreationDate).Last();
Account.Transactions.Remove(t);

Account.dbContext.SaveChanges();

Account.Transactions.Add(t);

Account.dbContext.SaveChanges();


dbContextTransaction.Commit();
}