C# 实体中大量记录更新面临的问题

C# 实体中大量记录更新面临的问题,c#,database,linq,entity,C#,Database,Linq,Entity,我需要在sql server中更新表中的大量记录。为此,我在每个循环中使用,并在实体中添加了值,并使用单次保存更改来更新表中的记录。但记录不会按创建的顺序更新。它是按随机顺序插入的 例如,我在对话框中创建了16个关键结果值,如k1、k2、k3等,并尝试在表中插入。但是插入的顺序是k9、k1、k2、k5等等 有人能建议我解决这个问题吗 我已经附上了我的代码截图,请参考它 目标目标=新目标() { ObjectiveTitle=System.Net.WebUtility.HtmlEncode(o

我需要在sql server中更新表中的大量记录。为此,我在每个循环中使用,并在实体中添加了值,并使用单次保存更改来更新表中的记录。但记录不会按创建的顺序更新。它是按随机顺序插入的

例如,我在对话框中创建了16个关键结果值,如k1、k2、k3等,并尝试在表中插入。但是插入的顺序是k9、k1、k2、k5等等

有人能建议我解决这个问题吗

我已经附上了我的代码截图,请参考它

目标目标=新目标()
{
ObjectiveTitle=System.Net.WebUtility.HtmlEncode(objects.Summary),
客观描述=描述,
受让人=objects.AssigneeId,
StatusId=objects.ObjectiveStatusId,
CycleId=objects.quarteID,
ParentObjectiveId=parentId,
ProductLineId=objects.ProductLineId,
IsActive=true,
ProductId=objects.ProductId,
CreatedBy=userId,
ModifiedDate=currentdate,
CreatedDate=currentdate,
ClosedDate=null
};
上下文。目标。添加(目标);
ObjectiveHistory ObjectiveHistory=新建ObjectiveHistory()
{
HistoryDetails=“New Objective”“+System.Net.WebUtility.HtmlEncode(objects.Summary)+”“”已创建。“,
ObjectiveId=目标。ObjectiveId,
ParentObjectiveId=parentId,
UpdatedBy=userId,
IsActive=true,
UpdateDate=currentdate
};
context.ObjectiveHistory.Add(ObjectiveHistory);
foreach(objects.KeyObjects中的var res)
{
KeyResult keyResults=新的KeyResult()
{
KeyResultitle=System.Net.WebUtility.HtmlEncode(res.KeyResultSummary),
ObjectiveId=目标。ObjectiveId,
受让人=res.KeyResultAssigneeId,
CurrentValue=res.CurrentValue,
TargetValue=res.TargetValue,
IsActive=true,
CreatedBy=userId,
ModifiedDate=currentdateForKeyResult,
CreatedDate=currentdateForKeyResult
};
context.KeyResult.Add(keyResults);
}
var list=context.KeyResult.Local.Select(l=>l.ToList();
foreach(列表中的var res)
{
KeyResultyStory keyHistory=新的KeyResultyStory()
{
HistoryDetails=“Key Result”“+System.Net.WebUtility.HtmlEncode(res.keyresultitle)+”“已创建。”,
ObjectiveId=目标。ObjectiveId,
KeyResultId=res.KeyResultId,
UpdatedBy=userId,
IsActive=true,
UpdateDate=currentdateForKeyResult
};
context.keysulthistory.Add(keyHistory);
}
SaveChanges();

那么像这样的东西呢

var results = objects.KeyObjects.Select(s=> new OKR_KeyResult{
//add values to params like param = s.param, aso...
}).ToList().OrderBy(o=>o.KeyResultTitle);
context.OKR_KeyResult.AddRange(results);

我使用了四个表在上下文中添加记录,然后只有我使用保存更改来更新数据库中的详细信息。对于在上下文中添加记录,我只使用了“添加范围”,但它不起作用。请您建议我其他一些解决方案。错误是记录没有按照创建的顺序更新。我已经附上了屏幕截图。请参考这也是我的解决方案吗?嗨,Qhori,我也尝试过你的解决方案,但它不起作用,我已经附加了代码片段请参考
var results = objects.KeyObjects.Select(s=> new OKR_KeyResult{
//add values to params like param = s.param, aso...
}).ToList().OrderBy(o=>o.KeyResultTitle);
context.OKR_KeyResult.AddRange(results);