1

可能重复:
在实体框架中使用带有输入参数的 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,这是我的存储过程所期望的。

4

0 回答 0