Я связал сущности с CollectionViewSource.Затем я запрашиваю код.Поскольку поле id - это PK, поэтому я думаю, что я должен использовать FirstOrDefault (), чтобы ускорить выполнение моего приложения.Но он всегда выдает исключение ...
XAML:
<Window.Resources>
<CollectionViewSource x:Key="contractlogoesViewSource" d:DesignSource="{d:DesignInstance my:contractlogo, CreateList=True}" />
</Window.Resources>
<Grid>
<Grid DataContext="{StaticResource contractlogoesViewSource}" HorizontalAlignment="Left" Margin="12,12,0,0" Name="grid1" VerticalAlignment="Top">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
...
Код:
private void Window_Loaded(object sender, RoutedEventArgs e)
{
VBDAdvertisement.vbdadvertisementEntities vbdadvertisementEntities = new VBDAdvertisement.vbdadvertisementEntities();
System.Windows.Data.CollectionViewSource contractlogoesViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("contractlogoesViewSource")));
contractlogoesViewSource.Source = vbdadvertisementEntities.contractlogoes.Where(q => q.id.Equals(3)).FirstOrDefault();
}
Выдает необработанное исключение:
An unhandled exception of type 'System.ArgumentException' occurred in
PresentationFramework.dll
Additional information: 'VBDAdvertisement.customer' is not a valid value for
property 'Source'.
Но когда я опускаю FirstOrDefault () из дерева выражений, например:
contractlogoesViewSource.Source = vbdadvertisementEntities.contractlogoes.Where(q => q.id.Equals(3));
Это работает хорошо!
Так почему FirstOrDefault () вызывает ошибку?
В этом случае, если я буду использовать FirstOrDefault (), будет ли мое приложение работать быстрее, если я использую FirstOrDefault ()?
ps: я создаю форму редактирования, поэтому я просто хочу, чтобы один элемент былзагружен.