0

データベースからデータを削除するためにlinqを使用しています。私はググって、クエリを作成しました。次のクエリを使用しています。

これにデバッガーを配置すると、エラーは表示されません。順調です。しかし、データベースを確認すると、レコードが削除されません。

同時に挿入操作を行います:

 splitTradeDataContext db = new splitTradeDataContext();
                    tradeFile tlbTradeFile = new tradeFile();

 tlbTradeFile.TradeNo = TradeNo + "_A";
               tlbTradeFile.Status = Status;
               tlbTradeFile.Scrip_Code = Scrip_Code;
               tlbTradeFile.Inst_Type = Inst_Type;
               tlbTradeFile.Expirydate = Expirydate;
               tlbTradeFile.Strike_price = Strike_price;
               tlbTradeFile.Option_type = Option_type;
               tlbTradeFile.Sec_Name = Sec_Name;
               tlbTradeFile.BookType = BookType;
               tlbTradeFile.BookTypeName = BookTypeName;
               tlbTradeFile.TerminalId = TerminalId;
               tlbTradeFile.Branch_Id = Branch_Id;
               tlbTradeFile.Buy_Sell = Buy_Sell;
               tlbTradeFile.Trade_Qty = Trade_Qty;
               tlbTradeFile.Market_Rate = Market_Rate;
               tlbTradeFile.Pro_cli = Pro_cli;
               tlbTradeFile.Party_Code = Party_Code + "_A";
               tlbTradeFile.ParticipantCode = ParticipantCode;
               tlbTradeFile.O_C_Flag = O_C_Flag;
               tlbTradeFile.Sauda_Date = Sauda_Date;
               tlbTradeFile.TradeModified = TradeModified;
               tlbTradeFile.OrderNo = OrderNo;
               tlbTradeFile.Opp_Broker_Id = Opp_Broker_Id;
               tlbTradeFile.OrderTime = OrderTime;
               tlbTradeFile.UnknowkNum = UnknowkNum;

 var remove = from aremove in db.tradeFiles
              where aremove.ID==int.Parse(gvTradeFile.SelectedRows[0].Cells[0].Value.ToString())
              select aremove;
 if(remove!=null)
    db.tradeFiles.DeleteAllOnSubmit(remove);

何が問題になる可能性がありますか? 間違ったクエリを使用していますか? または、まだ私から何かが残っていますか?

4

1 に答える 1

2

あなたはあなたがSubmitChangesする必要があるあなたのコードのどこにも電話をかけていません:

db.SubmitChanges(); //if its LINQ to SQL
于 2013-03-07T12:19:20.597 に答える