CRUD 操作に静的なデータ コンテキストを使用します。
グリッドビューでいくつかのレコードを作成し、それらのいくつかを削除してからデータベースを更新すると、削除されたレコードも挿入されます。
おそらく、削除されたレコードは 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);
}