Я создал проект приложения Visual Basic WPF, который содержит Toy.edmx, модель данных сущностей ADO.NET, сгенерированную из базы данных под названием Toy.Как расширить объекты Entity Framework ADO.NET с частичными классами?
Его Window1.xaml.vb файл выглядит следующим образом:
1 Class Window1 2 3 Private Sub Window1_Loaded(_ 4 ByVal sender As System.Object, _ 5 ByVal e As System.Windows.RoutedEventArgs) _ 6 Handles MyBase.Loaded 7 8 Dim dc As New ToyEntities1 9 Label1.Content = (From c As Client In dc.ClientSet _ 10 Select c).First.FirstName 11 12 End Sub 13 14 End Class
Это работает просто отлично.
Но, если я добавить файл Client.vb ...
1 Partial Public Class Client 2 Function IsWashington() As Boolean 3 Return Me.LastName = "Washington" 4 End Function 5 End Class
... и добавить ИНЕКЕ к моему Window1.xaml.vb запрос ...
9 Label1.Content = (From c As Client In dc.ClientSet _ 10 Where c.IsWashington _ 11 Select c).First.FirstName
... тогда я получаю эту NotSupportedException:
LINQ к Entiti es не распознает метод «Boolean IsWashington()», и этот метод не может быть переведен в выражение хранилища.
Как расширить объекты Entity Framework ADO.NET с частичными классами?
Надеюсь, это не звучит слишком суровым ... я должен сказать, что после запроса «local» вы можете добавить предложение where (но это LINQ to Objects), и это локально, а не в DB уровень). – 2008-11-04 01:41:50