2013-03-13 67 views
0
成立新的实体属性,以现有实体的财产

我创建了一个新的实体对象:在ObjectContext的

mplToCreate = this._context.MasterPartsList.CreateOBject(); 

的话,我想在parentPnID设置为我试着查询使用现有项目的属性以下IQueryable表达:

mplToCreate.parentPnID = this._context.MasterPartNumbers.FirstOrDefault(x => x.pn == this._selectedItem.Pn).pnID; 

但我在该行获得了NullReferenceException。 (我知道在MasterPartNumbers中存在pnID与此逻辑匹配。)

请帮助我更正我的右手表达式,以便我可以相应地设置属性。

+0

@RaphaëlAlthaus查看下面最新的评论尼古拉斯巴特勒的回答。 – Rachael 2013-03-13 09:00:41

回答

0

这是一个错字,还是它的问题?

// assignment 
FirstOrDefault(x => x.pn = this._selectedItem.Pn) 

// equality 
FirstOrDefault(x => x.pn == this._selectedItem.Pn) 
+0

糟糕!对不起@NicholasButler,那只是一个错字。这在我的应用程序中是正确的。 – Rachael 2013-03-13 08:40:51

+0

没问题。你的代码看起来是正确的 - 我猜想问题在于你的数据。表达式的哪一部分为空? – 2013-03-13 08:45:24

+0

啊。我累了。我只是从我的SaveEntities RelayCommand里面意识到SelectedItem目前是空的(它们看起来像Josh Smith's)。我应该如何将当前的属性值传递给我的RelayCommand?你会碰巧知道吗?谢谢你的帮助。我很确定这会解决我的问题。为了以防万一,我会为此启动一个新的Q. – Rachael 2013-03-13 08:53:22