检查可用日期 - LINQ

时间:2017-04-23 02:49:49

标签: c# wpf linq xaml

我的数据库'Cars'中有2个表& '预订'在'Car'表中,我有以下属性:CarID(PK),品牌,型号和尺寸。在“预订”表中:ID(PK),CarID(FK),StartDate&结束日期。

我有一个WPF应用程序,其中包含3个用户输入的信息:汽车大小,开始日期和结束日期。用户输入此信息并单击触发查询的按钮以搜索数据库,并查找在用户选择的日期大小相同且可用的汽车。

我已通过SQL Server Management Studio为数据库的所有属性输入了值。

我的问题:我已经想出如何搜索汽车尺寸,但我不明白如何从日期开始到结束时搜索数据库。

这就是我在WPF的XAML代码中创建日期选择器的方法:

    <StackPanel Margin="125,56,264,279.4">
        <DatePicker Margin="0,0,10.2,0" Height="25" RenderTransformOrigin="0.5,0.5"/>
    </StackPanel>

这是我目前的查询:

var searchQuery = from c in db.Cars
           join b in db.Bookings on c.CarID equals b.CarID
           where c.Size == comboBox_CarType.Text
           && EndDate.SelectedDate < b.EndDate && StartDate.SelectedDate > 
           b.StartDate
           select c.Make.Trim() + " - " + c.Model.Trim();


            listBox_AvailableCars.ItemsSource = searchQuery.ToList();

1 个答案:

答案 0 :(得分:0)

试试这个

var searchQuery = from c in db.Cars
                  join b in db.Bookings on c.CarID equals b.CardID
                  where c.Size == comboBox_CarType.Text 
                  && datepicker.SelectedDate < b.EndDate && datepicker.SelectedDate > b.StartDate
                  select c.Make.Trim() + " - " + c.Model.Trim();

listBox_AvailableCars.ItemsSource = searchQuery.ToList();