使用EF获取一组对象时如何更改单个属性?

时间:2015-12-24 23:49:40

标签: c# entity-framework linq

假设我们正在提取一堆帐户,但我们想隐藏这些数字。有没有办法将每个元素的属性 A 设置为什么?

return context.Accounts
  .Alter(account => account.Number = Guid.Empty);

我希望看到像这样的伪代码。

DirectoryIndex index.html index.php

3 个答案:

答案 0 :(得分:3)

只需使用:

return context.Account.ToArray().Select(acc=>
{
  acc.Number=Guid.Empty; 
  return acc;
});

您只能在内存中执行此操作,因此这不是数据库选择。

另一种方法可能是在数据库中创建一个View,将该列作为空指南并直接从中选择。

答案 1 :(得分:2)

这样的事情:

var accounts = context.Accouts
  .Select(a => new Account
  {
    Number = Guid.Empty,
    Prop1 = a.Prop1,
    // map other properties
  });

答案 2 :(得分:2)

IEnumerable<Account> accounts = context.Accounts;
accounts.Foreach(account => { account.Number = Guid.Empty; });
return accounts;