linq to sql-如何从datacontext中删除记录

时间:2013-03-29 01:26:56

标签: linq-to-sql

我使用静态datacontext进行CRUD操作。

当我在gridview中创建一些记录,然后删除其中一些记录,然后更新数据库时,也会插入已删除的记录。

我想也许删除的记录会从gridview1.datasource中删除,但是不会从datacontext中删除它们。

但我怎么处理呢?

非常感谢。

代码:

public class PurchaseOrderService{
private static readonly BaseEntityDao<PurchaseOrder> ObjDataAccess = new BaseEntityDao<PurchaseOrder>();
    public static void InsertRecord(PurchaseOrder localTable)
        {
            ObjDataAccess.Add(localTable);
        }
}


public class BaseEntityDao<TEntity>
        where TEntity : class, new()
    {
        public void Add(TEntity entity)
        {
            NBDataLinqDataContext.Instance().GetTable<TEntity>().InsertOnSubmit(entity);
            SubmitChanges(NBDataLinqDataContext.Instance());
        }
    }

partial class NBDataLinqDataContext
    {
private static NBDataLinqDataContext instance;
public static NBDataLinqDataContext Instance()
        {
            // Uses "Lazy initialization"
            if (instance == null)
                instance = new NBDataLinqDataContext();
            instance.Log = Console.Out;
            return instance;
        }
}

winform代码:

private void btnConfirm_Click(object sender, EventArgs e)
        {
var po = new PurchaseOrder();
foreach (PurchaseOrderDetail pd in _list)
                        {
                            po.PurchaseOrderDetail.Add(pd);
                        }
PurchaseOrderService.InsertRecord(po);
}

0 个答案:

没有答案