我目前有一个包含现有数据和新数据的模型。
例如,这是我的模型
public class NameDetails
{
public int Id { get; set; }
public string Name { get; set; }
}
这是它目前拥有的模拟数据
List<NameDetails> Names = new List<NameDetails>{
new NameDetails{Id = 1, Name = "Name 1"},
new NameDetails{Id = 2 , Name = "Name 2"},
};
现在假设我需要将其保存到数据库中。我已经在表中有 id = 1,所以这应该是一个更新,因为 id = 2 应该是一个添加......我该怎么做?
以前,当我使用存储库编写保存时,我会像这样添加或编辑添加,
context.NameDetails.Add(NameDetails);
context.SaveChanges();
或像这样编辑,
var recordToUpdate = context.NameDetails.FirstOrDefault(x => x.Id== 1);
recordToUpdate.Name = "New name";
context.SaveChanges();
那么这是否意味着我必须遍历我的列表并找出什么是新的,什么不是……或者还有其他方法吗?