C# 4.0 如何将同一列表复制到另一个实体
我需要将一个现有列表复制到另一个实体,但是当实体框架只保存一个实体时,列表就会被复制C# 4.0 如何将同一列表复制到另一个实体,c#-4.0,entity-framework-4,C# 4.0,Entity Framework 4,我需要将一个现有列表复制到另一个实体,但是当实体框架只保存一个实体时,列表就会被复制 var myList = GetList(); var newList = myEntities.Select(x => { var entity = x.GetEntity(); entity.List = myList.ToList(); return entity; }).ToList() Repository.SaveMany(newList); Repository.S
var myList = GetList();
var newList = myEntities.Select(x =>
{
var entity = x.GetEntity();
entity.List = myList.ToList();
return entity;
}).ToList()
Repository.SaveMany(newList);
Repository.SaveChanges();
当然,虽然
myList.ToList()
确实创建了一个新的列表,但其中的项目不会被复制,因此最后一个实体
接收到它们将获胜。顺便说一句,执行Select
并产生副作用是不好的做法。使用myenties.ToList().ForEach(…)
@GertArnold,非常感谢,我真的这么做了,但我对这种行为表示怀疑。我明白了,这是有道理的,我想列表中的对象也会被复制。。