He creado un proyecto de aplicación de Visual Basic WPF que contiene Toy.edmx, un modelo de datos de entidad ADO.NET generado a partir de una base de datos llamada Toy.¿Cómo extiendo los objetos de ADO.NET Entity Framework con clases parciales?
Su Window1.xaml.vb archivo es como sigue:
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
que funciona muy bien.
Pero, si añado el archivo Client.vb ...
1 Partial Public Class Client 2 Function IsWashington() As Boolean 3 Return Me.LastName = "Washington" 4 End Function 5 End Class
... y añadir una cláusula WHERE para mi Window1.xaml.vb consulta ...
9 Label1.Content = (From c As Client In dc.ClientSet _ 10 Where c.IsWashington _ 11 Select c).First.FirstName
... cuando me siento este NotSupportedException:
LINQ a Entiti es no reconoce el método 'Boolean IsWashington()', y este método no se puede traducir a una expresión de tienda.
¿Cómo extiendo los objetos de ADO.NET Entity Framework con clases parciales?
Espero que no suene demasiado duro ... lo que debería decir es que una vez que su consulta es "local", puede agregar su cláusula where (pero eso es LINQ to Objects - y eso es local, no en el DB nivel). –