LINQ,将表转换为列表并插入新记录

时间:2017-05-08 20:02:17

标签: c# linq

我有DataContext

public class DatabaseCatalogue : DataContext
{
    // other stuffs ...

    public Table<IngramProduct> IngramProducts;
}

我将IngramProducts表加载到列表中:

private List<IngramProduct> ingramProducts =
        (from ingramProduct in dbCatalogue.IngramProducts
        select ingramProduct).ToList();

如果我更改此列表中某个对象的某个属性的值,然后调用dbCatalogue.SubmitChanges();,则会将其保存到数据库中。

但是如果我创建一个新对象并将该对象插入到列表中,它将不会被保存为表中的新记录(当调用SubmitChanges时)。

我的问题是:如何将新对象添加到列表中并将其作为新记录保存到数据库中(调用SubmitChanges方法)?

1 个答案:

答案 0 :(得分:0)

如果您想在调用Table后保留此对象,则必须将新产品添加到原始SubmitChanges()

dbCatalogue.IngramProducts.InsertOnSubmit(myNewIngramProduct);

在调用ToList后,对数据库进行了查询,并在List内实现了集合,该集合现在与原始Table无关。