将多行插入数据库 LINQ

Insert Multiple Rows to Database LINQ

我有一个 foreach 循环,它遍历 List<NewItem> 类型的列表,创建 NewItem 的新实例,设置其属性,然后 Add() 将该项目添加到上下文在执行 SaveChanges():

时插入
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);
}

我收到错误:

Unable to update the EntitySet 'NewItem' because it has a DefiningQuery and no element exists in the element to support the current operation.

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

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