使用Entity Framework删除数据库中的一个数据

时间:2017-12-22 02:49:40

标签: c# entity-framework

有人能帮助我吗?

我真的很难使用Entity Framework从数据库中删除条目。

这是我的数据实体:

[Key]
[Column(Order = 0)]
public string TransNo { get; set; }
public int? RowID { get; set; }     
public string ClientName { get; set; }
public string PartsCode { get; set; }
public double OrderQty { get; set; }
public double? Stocks { get; set; }
public double UnitCost { get; set; }
public double? TotalAmount { get; set; }
public DateTime? DeliveryDate { get; set; }
public string PONo { get; set; }
public string InCharge { get; set; }
public DateTime? POReceivedDate { get; set; }
public string SNNo { get; set; }
public string SysPartsCode { get; set; }
public string ItemNo { get; set; }

TransNo是主键。

然后RowID是一个唯一的参数。

我将在datagridview中选择并按下键盘上的 delete 键。这没有问题。唯一的事就是删除。即使我正在使用

 .where(m => m.RowID == RowID) 

当我调试它时,选择了我要删除的行。但是在保存更改并刷新数据库之后,将删除所有与我选择的数据TransNo相等的数据。我只想删除与我选择的数据相等的数据。因此,作为主键的Transno等于所选数据,并且唯一参数的rowid也必须等于所选数据。

它会真正选择特定数据,但会删除等于transno的整个数据。

请帮帮我..

更新:我现在正在使用此代码:

public void DeleteEachByRowID(string TransNo, int rowId)
{
    var rowtoRemove = this.FindAllPOEntry()
                          .Where(x => x.RowID == rowId)
                          .FirstOrDefault();
    db.POEntryProcess.Remove(rowtoRemove);
    db.SaveChanges();
}

0 个答案:

没有答案