2011-11-17 7 views
0

linq에서 date와 from sql 사이에있는 쿼리를 작성합니다.이 경우에는 dtata가 표시되지 않습니다. 사용자가 동일한 날짜를 날짜와 날짜로 입력하면 데이터가 데이터로 표시되지 않습니다. 거기에 데이터베이스에있는 해당 날짜에 대한 것입니다. 이것은 내 linq 쿼리입니다. dt1 현실보다 그 dt에 있음을 가정날짜 비교

var result = from MaterialStatus in materialRequistionEntities.Tbl_MatReq_NewItemReq_M 
          join CurrentStatus in materialRequistionEntities.Tbl_StatusMaster_M on 
          MaterialStatus.ReqCurStatus equals CurrentStatus.StatusId 
          join Employee in materialRequistionEntities.Tbl_Emp_Master_M 
           on MaterialStatus.Indentor equals Employee.EmpId 
           where (MaterialStatus.CreatedOn >= dt.Date && MaterialStatus.CreatedOn <= dt1.Date) 
           select ***************** 

답변

1

당신은 수행해야합니다

var upperDate = dt1.Date.AddDays(1); 
... 
where (MaterialStatus.CreatedOn >= dt.Date 
    && MaterialStatus.CreatedOn < upperDate 

그러면 표현식을 sargable SQL 술어로 변환 할 수 있습니다.

+0

AddDays (1)를 추가 할 때 오류가 발생합니다 –

+0

'dt1.Date'가'DateTime'이 아닌가요? –

+0

나중에 날짜 시간은 –

0

, 당신은시/분/초를 다루는

var result = from MaterialStatus in materialRequistionEntities.Tbl_MatReq_NewItemReq_M 
          join CurrentStatus in materialRequistionEntities.Tbl_StatusMaster_M on 
          MaterialStatus.ReqCurStatus equals CurrentStatus.StatusId 
          join Employee in materialRequistionEntities.Tbl_Emp_Master_M 
           on MaterialStatus.Indentor equals Employee.EmpId 
           where (MaterialStatus.CreatedOn.Date >= dt.Date && MaterialStatus.CreatedOn.Date <= dt1.Date) 
           select ***************** 

공지 사항 CreatedOn.Date를 사용할 수 있습니다/밀리 초 구성 요소

+0

Mr.John Gathogo MaterialStatus.Createdon에서 날짜를 가져 오지 못했습니다. –

+0

@Suryasasidhar : CreatedOn이 datetime 필드가 아닌가요? 그럴 경우'.Date'를 할 수 있어야합니다 –

0

괜찮 으면 좋겠어요.

where (MaterialStatus.CreatedOn.Value.Date >= dt.Date && MaterialStatus.CreatedOn.Value.Date <= dt1.Date.AddDay(1))