我创建了一个包含Toy.edmx的Visual Basic WPF应用程序项目,这是一个从名为Toy的数据库生成的ADO.NET实体数据模型。如何用部分类扩展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
...和WHERE子句添加到我的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无法识别方法'布尔IsWashington()'方法,并且此方法无法转换为商店表达式。
如何扩展带有部分类的ADO.NET实体框架对象?
我希望听起来不太刺耳......我应该说的是,一旦你查询的是“本地”,你可以添加你的where子句(但这是LINQ到对象 - 这是本地的,而不是在DB水平)。 – 2008-11-04 01:41:50