用LINQ替换列表上的foreach

用LINQ替换列表上的foreach,linq,Linq,我不确定这是否可取,但是否有一种LINQ“方法”来替换以下内容: foreach (var u in users) context.Users.Add(u); 有点像 context.Users.Add(…) 你不需要林克。您需要使用而不是添加: context.Users.AddRange(users); 假设:您使用的是实体框架,Users的类型是DbSet您不需要LINQ。您需要使用而不是添加: context.Users.AddRange(users); 假设:您使用的是实

我不确定这是否可取,但是否有一种LINQ“方法”来替换以下内容:

foreach (var u in users)
    context.Users.Add(u);
有点像


context.Users.Add(…)

你不需要林克。您需要使用而不是添加

context.Users.AddRange(users);

假设:您使用的是实体框架,
Users
的类型是
DbSet

您不需要LINQ。您需要使用而不是添加

context.Users.AddRange(users);

假设:您使用的是实体框架,
Users
类型为
DbSet

如果
Users
类型为
DbSet
,则您可以使用以下方法完全不循环:

但是,如果您真的想使用Linq,那么您也可以这样做:

users.ToList().ForEach(u => context.Users.Add(u));
或速记版本:

users.ToList().ForEach(context.Users.Add);

如果
Users
是一个
DbSet
,那么您可以使用以下方法完全不用循环:

但是,如果您真的想使用Linq,那么您也可以这样做:

users.ToList().ForEach(u => context.Users.Add(u));
或速记版本:

users.ToList().ForEach(context.Users.Add);

假设
用户
是类型
列表
您就可以这样做

users.ForEach(u => context.Users.Add(u));
虽然您不需要使用LINQ。你可以这么做

context.Users.AddRange(users);

假设
用户
是类型
列表
您就可以这样做

users.ForEach(u => context.Users.Add(u));
虽然您不需要使用LINQ。你可以这么做

context.Users.AddRange(users);

ForEach
不是LINQ。它只是
列表中的一个方法
。完全忘记了AddRange,但也忘记了列表中的ForEach方法。让我把3行代码合并成一行,但仍然可读的任何东西都是一件好事。
ForEach
不是LINQ。它只是
列表中的一个方法
。完全忘记了AddRange,但也忘记了列表中的ForEach方法。任何让我把三行代码合并成一行,但仍然可读的东西都是一件好事