0

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);
}
4

0 に答える 0