我目前拥有一个模型,其中包含现有数据和新数据。
以下是我的模型示例:
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();
那么这是否意味着我必须循环遍历我的列表并找出什么是新的,什么不是新的……还是有其他方法?