假设我们有两个表:源表和目标表,且两个表的模型类分别为Source和Target。我们要将源表中的数据移动到目标表中,可以按照以下步骤实现:
1.从源表中获取要移动的数据
List sourceList = await _context.Source.ToListAsync();
2.将数据插入到目标表中
_targetContext.Target.AddRange(sourceList.Select(s => new Target
{
// 这里根据需要映射Source属性到Target属性
TargetProperty1 = s.SourceProperty1,
TargetProperty2 = s.SourceProperty2,
// ...
}));
await _targetContext.SaveChangesAsync();
3.删除源表中的数据
_context.Source.RemoveRange(sourceList);
await _context.SaveChangesAsync();
完整的代码示例:
public async Task MoveDataAsync()
{
// 从源表中获取数据
List sourceList = await _context.Source.ToListAsync();
// 将数据插入到目标表中
_targetContext.Target.AddRange(sourceList.Select(s => new Target
{
// 这里根据需要映射Source属性到Target属性
TargetProperty1 = s.SourceProperty1,
TargetProperty2 = s.SourceProperty2,
// ...
}));
await _targetContext.SaveChangesAsync();
// 删除源表中的数据
_context.Source.RemoveRange(sourceList);
await _context.SaveChangesAsync();
}