我創建了一個包含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