有人能帮助我吗?
我真的很难使用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();
}