use*_*329 10 .net c# entity-framework
我目前有一个拥有现有数据和新数据的模型.
作为一个例子,这是我的模型
public class NameDetails
{
public int Id { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是它目前拥有的模拟数据
List<NameDetails> Names = new List<NameDetails>{
new NameDetails{Id = 1, Name = "Name 1"},
new NameDetails{Id = 2 , Name = "Name 2"},
};
Run Code Online (Sandbox Code Playgroud)
现在假设我需要将它保存到数据库中..我已经在表中有id = 1,所以这应该是一个更新,其中id = 2应该是一个添加...我该怎么做?
以前当我使用存储库编写保存时,我做了添加或编辑添加如此,
context.NameDetails.Add(NameDetails);
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
或像这样编辑,
var recordToUpdate = context.NameDetails.FirstOrDefault(x => x.Id== 1);
recordToUpdate.Name = "New name";
context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
那么这是否意味着我必须遍历我的列表并找出新的和不是什么......还是有另一种方式?
尝试这个:
var nameIds = Names.Select(n => n.Id);
var recordsToUpdate = context.NameDetails.Where(x => nameIds.Contains(x.Id));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
209 次 |
| 最近记录: |