【发布时间】:2018-11-22 03:20:05
【问题描述】:
几天以来,我在将 WPF DataGrid 的当前项目转换为 linq-generated 实体时遇到了问题。如果有人能帮我解决这个问题,那就太棒了。
我正在使用 linq 查询获取 DataGrid 的数据,如下所示:
Dim payableexpense As New exprev
Dim listofexpenses As IEnumerable(Of exprev)
Private Sub txtsearchname_TextChanged(sender As Object, e As TextChangedEventArgs) Handles txtsearchname.TextChanged
listofexpenses = From expenses In db.exprevs
Where expenses.school_id = currentschool.school_id AndAlso expenses.title.Contains(txtsearchname.Text.ToString) AndAlso expenses.status <> 1 AndAlso expenses.type = 1
dgvsearchresults.ItemsSource = listofexpenses
dgvsearchresults.Items.Refresh()
stpexpensedetails.DataContext = payableexpense
End Sub
对于 DataGrid 选择更改事件,我有以下代码:
Private Sub dgvsearchresults_SelectionChanged(sender As Object, e As SelectionChangedEventArgs) Handles dgvsearchresults.SelectionChanged
payableexpense = dgvsearchresults.CurrentItem
End Sub
但是在run-time 期间,它抛出了一个异常:
“无法将'ms.internal.namedobject'类型的对象转换为'exprev'”
在我项目的另一个地方,同样的方法运行良好。
【问题讨论】:
-
exprev是什么?向我们展示有关exprev的代码 -
@zackraiyan exprev 是基于数据库中的表的 Linq-to-SQL 生成的实体。
标签: .net wpf vb.net linq linq-to-sql