【发布时间】:2014-04-21 04:41:22
【问题描述】:
我的问题与我想从订单中删除商品有关,
我只是不明白为什么它返回一个空值它应该只是删除该项目。
protected void gvRevOrder_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
Int64 ID = new Int64();
ID = (Int64)e.Keys["ProductID"];
using (DatabaseCourseWorkEntities context = new DatabaseCourseWorkEntities())
{
CWInvoiceItem item = (from p in context.CWInvoiceItems
where p.ProductID == ID
select p).SingleOrDefault();
context.CWInvoiceItems.DeleteObject(item);
context.SaveChanges();
}
下面我放了我要删除的东西的链接,你可以看到 ProductID = 38 并且变量 ID 也有 38 任何想法?
我尝试过各种方法,例如 FirsOrDefault 等。
【问题讨论】:
-
显然,没有具有该产品 ID 的
CWInvoiceItem... -
您的查询在您的项目变量中返回空值?具有该 ID 的产品是否可能根本不存在?
-
顺便说一句,任何呼叫都应该总是为 null,所以也要确保处理这种情况
-
确实如此,我在发布之前已经确定了这一点,这就是我感到困惑的原因。
-
您的 DataContext 必须连接到与您的图像显示的数据源不同的数据源。
标签: c# .net entity-framework