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

时间:2015-01-05 19:00:27

标签: c# entity-framework visual-studio-lightswitch

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

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

我的问题是在Button Executed事件中,我写了这段代码:

    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不为null,并且具有此代码的项目存在。我相信这与LightSwitch无关。为什么我认为它根本不重复。

1 个答案:

答案 0 :(得分:-2)

  

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

表示对象的引用为null。所以你的LINQ显然查询返回null而不是实例。