我使用静态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);
}