向数据库 LINQ 中插入多行

Posted

技术标签:

【中文标题】向数据库 LINQ 中插入多行【英文标题】:Insert Multiple Rows to Database LINQ 【发布时间】:2017-09-08 21:09:28 【问题描述】:

我有一个 foreach 循环,它遍历 List<NewItem> 类型的列表,创建 NewItem 的新实例,设置其属性,然后 Add()s 将项目插入到上下文中,以在执行 @ 时插入987654324@:

foreach (var newItem in newItems)

    NewItem item = new NewItem 
    
        User = newItem.User,
        Itemno = newItem.Itemno
    ;

    db.NewItem.Add(item);



try

    db.SaveChanges();

catch (Exception e)

    Console.WriteLine(e);

我收到错误:

无法更新 EntitySet 'NewItem',因为它有一个 DefiningQuery 并且元素中不存在任何元素来支持 当前操作。

为什么Add() 方法实际上没有向我的数据库上下文添加任何内容?

【问题讨论】:

【参考方案1】:

如果目标数据库表没有主键,则添加一个。

【讨论】:

以上是关于向数据库 LINQ 中插入多行的主要内容,如果未能解决你的问题,请参考以下文章

如何用SQL语句向一个表中插入多行记录

如何用SQL语句向一个表中插入多行记录

如何用 Linq 插入字节数组数据?

java怎么将选中的多行数据插入表中

使用freemarker插入多行数据到word中

使用 Spring Boot JPA 在数据库中插入多行