运营商除外

时间:2012-04-19 16:18:09

标签: vb.net linq except

我正在创建一个预订系统,我想这样做,当用户在压缩机上选择一个日期时,下拉框将填充可用的时间。

以下是我的代码......

Protected Sub Calendar1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Calendar1.SelectionChanged

    Label1.Text = Calendar1.SelectedDate
    Dim db As New DataClasses2DataContext

    Dim times = From s In db.Apps Where s.Date = Calendar1.SelectedDate Select New With {s.StartTime}

    Dim allslots = From c In db.Slots Select c.StartTime

    Dim leftover = times.Except(allslots)

    DropDownList1.DataSource = leftover
    DropDownList1.DataBind()


End Sub

这是我得到的错误......

无法转换类型为'System.Data.Linq.DataQuery 1[System.TimeSpan]' to type 'System.Collections.Generic.IEnumerable 1 [VB $ AnonymousType_1`1 [System.TimeSpan]]'的对象。

根据我的一般知识,我知道我需要在某个地方需要一个timepan.parse,我玩过一些东西,但似乎无法解决问题,任何人都可以帮忙吗?

感谢, 科拉。

1 个答案:

答案 0 :(得分:3)

我认为你的意思是:

Dim times = From s In db.Apps
            Where s.Date = Calendar1.SelectedDate
            Select s.StartTime

我想你可能已经倒退了Except。你是说这个吗?

Dim leftover = allslots.Except(times)