可能重复:
在实体框架中使用带有输入参数的 ObjectResult 到 StoredProcedure 的正确方法是什么?(输出映射到复杂类型属性)
我已经在这里问过这个问题,但我似乎无法弄清楚,所以我再问一次。
我将实体模型中的一个函数映射到一个名为 ReturnPnsPerAtts_Result 的复杂类型,该类型具有标量属性:pn_ID、conn_pn 和 part_class。
这样做是正确的。
SQL SELECT 存储过程称为 ReturnPnsPerAtts,它接受大约 12 个参数(这些都是我从视图中一堆列表框的 SelectedValue 属性中获取的实体查询的“属性”属性。
现在,我意识到我可以将存储过程的结果作为复杂类型的 ObjectResult 返回。我正在使用 WPF 和 C#——我究竟如何创建一个方法来将我的 ObjectResults 提供给 DataContext?
谢谢 - 非常感谢任何帮助。
::编辑:: 我一直在尝试:
我的代码现在看起来完全像这样:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
CollectionViewSource returnPnsPerAtts_ResultViewSource = ((CollectionViewSource)(this.FindResource("returnPnsPerAtts_ResultViewSource");
returnPnsPerAtts_ResultViewSource.Source = this.selectedPnsCollection;
}
private ObservableCollection<ReturnPnsPerAtts_Result> selectedPnsCollection = new ObservableCollection<ReturnPnsPerAtts_Result>();
private void connShapeLBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ConnCompAttsView selectedConnShape = this.connShapeLBox.SelectedValue as ConnCompAttsView;
if (connShapeLBox.SelectedValue != null)
{
selectedPnsCollection.Clear();
foreach (ReturnPnsPerAtts_Result result in
this.myEntities.ReturnPnsPerAttsFN(selectedConnShape.PK_att_val_id, null, null, null, null, null));
{
selectedPnsCollection.Add(result);
}
}
}
}
但是,我得到了一个内部异常,指出
"{"Procedure or function 'ReturnPnsPerAtts' expects parameter '@@connShape', which was not supplied."}"
但它是提供的......或者我认为......并且作为一个 int,这是我的存储过程所期望的。