对象引用未设置为LightSwitch中对象的实例

本文关键字:对象 实例 LightSwitch 设置 对象引用 | 更新日期: 2023-09-27 18:36:31

我正在使用LightSwitch VS 2013来创建CRUD应用程序。我想创建一个新的数据屏幕,用户可以在其中创建任何旧项目的副本,并能够更改一些详细信息以轻松创建新项目。

我正在尝试通过绑定到文本框的本地属性来实现此方案,以便用户写入旧项目 ID 并单击复制。 然后,屏幕中的字段将填充旧项目详细信息。

我的问题是在按钮执行事件中,我编写了以下代码:

    ConstructionDBData dataEntities = new ConstructionDBData();
        Item oldItemValue = (from Item i in dataEntities.Items
                             where i.Code == oldItemId
                             select i).SingleOrDefault();

        this.ItemProperty.Name = oldItemValue.Name;
        this.ItemProperty.Date = oldItemValue.Date;
        //.... setting remaining properties

代码给了我一个例外,消息"对象引用未设置为对象的实例"。异常发生在用于检索数据的行中。

我尝试了FirstOrDefault而不是SinglelOrDefault,但徒劳无功。我也尝试了这条线,但没有任何变化

          Item oldItemValue = dataEntities.Items.Where<Item>(i=> i.Code == oldItemId).FirstOrDefault();

即使是像var itms = dataEntities.Items这样的行也会给出异常。我确定 Items 不为空,并且存在具有此代码的项目。我相信这与LightSwitch无关。这就是为什么我相信它根本不是重复的。

对象引用未设置为LightSwitch中对象的实例

对象引用未设置为对象的实例

表示对对象的引用为 null。因此,您的 LINQ 查询显然返回 null 而不是实例。