【问题标题】:dont get why my query is returning a null不明白为什么我的查询返回 null
【发布时间】: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


【解决方案1】:
  1. 检查context.CWInvoiceItems 是否包含任何数据
  2. 检查上下文是否指向正确的数据源

【讨论】:

  • 感谢您的帮助,我很感激。 p.s 对不起关于双重职位等。我仍然没有整理出来,但你帮我缩小了范围,谢谢! :)
  • 它不允许我投票,直到我有 15 个代表,当我有这个时我会这样做:)
猜你喜欢
  • 2015-09-12
  • 1970-01-01
  • 2020-03-01
相关资源
最近更新 更多