Ich habe ein Visual Basic WPF-Anwendungsprojekt erstellt, das Toy.edmx enthält, ein ADO.NET-Entitätsdatenmodell, das aus einer Datenbank mit dem Namen Toy generiert wird.Wie erweitere ich ADO.NET Entity Framework-Objekte mit Teilklassen?
Seine Window1.xaml.vb Datei sieht wie folgt aus:
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
Das ganz gut läuft.
Aber, wenn ich hinzufügen, um die Datei Client.vb ...
1 Partial Public Class Client 2 Function IsWashington() As Boolean 3 Return Me.LastName = "Washington" 4 End Function 5 End Class
... und fügen Sie eine WHERE-Klausel meiner Window1.xaml.vb Abfrage ...
9 Label1.Content = (From c As Client In dc.ClientSet _ 10 Where c.IsWashington _ 11 Select c).First.FirstName
... dann bekomme ich diese NotSupportedException:
LINQ to Entiti Es erkennt die Methode 'Boolean IsWashington()' nicht und diese Methode kann nicht in einen Speicherausdruck übersetzt werden.
Wie erweitere ich ADO.NET Entity Framework-Objekte mit partiellen Klassen?
Ich hoffe, dass das nicht zu hart klang ... was ich sagen sollte ist, dass, sobald Sie Abfrage "lokal" sind, Sie Ihre WHERE-Klausel hinzufügen können (aber das ist LINQ zu Objekten - und das ist lokal, nicht in der DB Niveau). –