我有这样的清单:
var list = new List<string>();
此列表包含以下名称:“Ken”,“John”,“Tom”等。
我需要将此列表添加到数据库表中,如下所示:
Id SecondId Name
1 1 Ken
2 1 John
3 2 Tom
其中SecondId是次要密钥,而且我已有的信息。但我的问题是有没有更好的方法将所有名称添加到数据库而无需使用foreach循环遍历列表?任何linq查询或其他方式或我必须遍历列表以逐个添加到数据库?
答案 0 :(得分:0)
我认为没有办法将列表添加为块。
您可以像这样在List上使用ForEach
扩展方法(假设您使用DbContext
进行数据库访问):
using (var context = new NameContext()) {
list.ForEach(i => context.Names.Add(new Name(i, SECOND_ID)));
}
您可以使用相同的方法,但如果您没有使用DbContext,则使用lambda表达式中的数据库编写代码。