Возможный дубликат:
Как правильно вызвать функцию, которая сопоставляет SPrc с ObservableCollection в Entity Framework, где объекты имеют сложный тип
Мне нужно получить вывод моей хранимой процедуры (которая, как я считаю, правильно сопоставлена со сложным типом) в ObservableCollection, чтобы я мог привязать ее к ListBox с помощью CollectionViewSource. Я не знаю, что еще попробовать.
Мой код теперь выглядит ТОЧНО так:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
CollectionViewSource GetParts_ResultViewSource = ((CollectionViewSource)(this.FindResource("getParts_ResultViewSource");
GetPart_ResultViewSource.Source = this.selectedPnsCollection;
}
private ObservableCollection<GetParts_Result> selectedPnsCollection = new ObservableCollection<GetParts_Result>();
private void shapeAttributeLBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
AttributeView selectedPartShape = this.shapeAttributeLBox.SelectedValue as AttributeView;
if (shapeAttributeLBox.SelectedValue != null)
{
selectedPnsCollection.Clear();
foreach (GetParts_Result result in
this.myEntities.GetParts(selectedPartShape.attributeID, null));
{
selectedPnsCollection.Add(result);
}
}
}
}
Однако я получаю внутреннее исключение, в котором говорится
"{"Procedure or function 'GetParts' expects parameter '@@partShape', which was not supplied."}"
Но он был предоставлен... или я так думал... и как int, чего и ожидает моя хранимая процедура.
Что ж, я пытаюсь здесь использовать как параметры selectedPartShape.attributeID, так и нулевые параметры для проверки сопоставления моей функции, поскольку мой SPrc принимает два входных значения, где все они могут быть нулевыми.
В конце концов, я буду использовать другое свойство listbox.SelectedValue в качестве второго входного параметра.
Я подумал, что с тем же успехом мог бы вручную передать некоторые идентификаторы целочисленного типа (например, this.myEntities.GetParts(5,161), чтобы вернуть список номеров деталей, каждый из которых имеет атрибуты с этими идентификаторами.