2015-02-17 5 views
2

У меня есть две таблицы автобуса и повторяющиеся. Я хотел бы найти автобус в указанный день. Если дата поиска выпадает в понедельник, покажите автобус, и если дата поиска упадет в среду, не показывайте.Запрос на повторяющийся день

Я хотел бы знать, как создать запрос с использованием LINQ to EF.

Bus 
=== 
Id Name From  To   DepartTime ArrivalTime, RecurringId 
------------------------------------------------------------------- 
01 Bus1 Yangon Mandalay 20:00  4:00   01 

Периодическое:

Id Mon Tue Web Thu Fri Sat Sun 
-------------------------------- 
01 Y Y N Y N Y N 
+0

Вы можете сохранить его как битовую маску в качестве поля таблицы шины. Например, см. Http://stackoverflow.com/questions/9643491/store-multiple-bit-values-in-a-single-table-column – abatishchev

+1

На самом деле это не вопрос, это запрос кому-то закодировать что-то для тебя. Я думаю, что подобные вопросы не должны быть в stackoverflow. Вы должны, по крайней мере, взломать его самостоятельно, создать базу данных, некоторые таблицы, попробовать, прежде чем обращаться за помощью. – Mick

ответ

0

Ничто в таблицах не указывает информацию о конкретной дате. Я предполагаю, поэтому вы хотите следующее ...

select * 
from 
    Bus as B 
    inner join Recurring as R on R.Id == B.Id 
where 
    R.Mon = 1 

... все автобусы, которые работают в понедельник. То же самое в LINQ to EF будет ...

Bus[] buses = (from b in context.Bus 
       join r in context.Recurring on r.id = b.id 
       where r.Mon 
       select b).ToArray();