LINQ to Entities 允许这样做:
context.User.Select(u => new Person
{
Name = u.Name,
Parent = u.Parent.Name
});
我只需要一个大User
表的两个属性,然后使用Select
创建Person
对象的方法获取它们,这样我就可以对它进行一些处理。问题是我经常这样做(比如每秒两次),这会伤害GC
.
所以我决定汇集Person
对象,但我不知道如何使用 LINQ to Entities 更新现有对象。我可以像上面那样将它作为匿名方法获取,然后将其属性分配给我猜想的解池对象,然后我可以返回解池实例,这至少会使匿名实例在较低的一代中消失,GC
但是......
我真的更喜欢这样的东西:
context.User.Select(u => People.Take(u.Name, u.Parent.Name))
抛出一个NotSupportedException
.
- 我可以使用实体框架来更新现有对象的值吗?
- 如果是这样,怎么做?
- 如果没有,我有什么选择?