0
인 두 테이블에 대한 LINQ 날짜 범위에 대해 ITEMRESERVED 테이블에 예약되지 않은 ITEM 테이블의 항목을 가져 오기 위해 LIQ의 올바른 구문과 관련된 문제가 있습니다.두 테이블 사이의 날짜 범위가
For Example: Item contain:
ItemID ItemName
1 A
2 B
3 C
ItemReserved Contains:
ID ItemID StartDate EndDate
1 1 06/06/14 07/06/14
테이블 정의 : 다음 검색 정보를 바탕으로
CREATE TABLE [dbo].[Item](
[ItemID] [int] NOT NULL,
[ItemName] [varchar](8) NOT NULL,
PRIMARY KEY CLUSTERED
(
[ItemID] ASC
)
CREATE TABLE [dbo].[ItemReserved](
[ID] [int] NOT NULL,
[ItemID] [int] NOT NULL,
[StartDate] [smalldatetime] NOT NULL,
[EndDate] [smalldatetime] NOT NULL,
PRIMARY KEY CLUSTERED
(
[ID] ASC
)
[FK_ItemReserved] FOREIGN KEY([ItemID])
REFERENCES [dbo].[Items] ([ItemID])
: 07-06-14 & 06-06-14 사이에 예약되지에서
이 항목 테이블의 모든 항목을 선택
코드 :
var StartDate = DateTime.Now;
var EndDate = DateTime.Now.AddDays(1);
var query = from i in db.Ttem
join ir in db.ItemReserved
//on i.ItemID equals ir.ItemId - This line brings back the data that is reserved
on i.ItemID (??? !=) ir.ItemId
where i.ItemID == ir.ItemID //&& (Dates <= Start and >= End)
select i;
이 코드는 날짜에 예약 된 항목을 선택하는 데 사용되지만 역순으로 필요하지는 않습니다. 예약되지 않은 항목은 무엇입니까?
var StartDate = dpStartDate.SelectedDate.Value;
var EndDate = dpEndDate.SelectedDate.Value;
//LINQ - To get all cars from database
var query = from i in db.Item
join ir in db.ItemReserved
on i.ItemID equals ir.ItemID
where i.ItemID == ir.ItemID && ((StartDate >= b.StartDate) && (EndDate <= b.EndDate))
select i;
정말 감사합니다. 그건 대접이야. – user3715220
@ user3715220 당신을 환영합니다! 내가 도울 수있어서 기뻐. – Christos