2012-02-07 4 views
0

linq을 구성해야하지만 day (날짜 시간 유형, i.AllowedTime.AllowedDate.Day), 시간 및 분 (int 유형)은 다르게 저장됩니다. 나는 그것을 만들려고 :LINQ, datetime을 구성 할 수 없습니다.

 DateTime date = DateTime.Now.Date; 
     IQueryable<ITW2012Mobile.Core.DataTable.MeetingModel2> result = null; 
     if (status == MeetingStatus.RequestedOfYou) 
     { 

      result = from i in _dbContext.Meetings 
        where i.UserInvitedID == CurrentUserID && i.MeetingStatus == null && EntityFunctions.TruncateTime(i.AllowedTime.AllowedDate.Day) >= date 
        select new ITW2012Mobile.Core.DataTable.MeetingModel2() 
        { 
         Name = i.UserInviter.FirstName + " " + i.UserInviter.LastName, 
         Company = i.UserInviter.Company, 
         MeetingID = i.MeetingID, 
         Time = EntityFunctions.AddMinutes(EntityFunctions.AddHours(i.AllowedTime.AllowedDate.Day, i.AllowedTime.Hour).Value, i.AllowedTime.Minute).Value, 
         Image = i.UserInviter.ProfileImage, 
         Username = i.UserInviter.aspnet_User.UserName 
        }; 
     } 

을하지만 예외가 있어요 :

{ ". 날짜 부분 시간이 데이터의 날짜 함수 DATEADD 유형 날짜를 지원하지 않습니다"}

을 그것을하는 방법?

ADDED 클래스 MeetingModel2는

public class MeetingModel2 
{ 
    public int MeetingID { get; set; } 
    public string Name { get; set; } 
    public string Company { get; set; } 
    public DateTime Time { get; set; } 
    public string Image { get; set; } 
    public string Username { get; set; } 
} 

답변

2

당신이 질의하고있는 데이터베이스의 필드 "시간은"가능성이 Date 데이터 형식입니다. Date 유형에 분 또는 시간을 추가하는 것과 같은 시간 작업을 수행 할 수 없습니다. 해당 입력란을 DateTime으로 변경했다면 괜찮을 것입니다.

+0

필드 "시간"은 DB에 전혀 존재하지 않습니다. MeetingModel2 클래스의 속성입니다. – John

+0

'i.AllowedTime.AllowedDate.Day'의 데이터 형식은 무엇입니까? 정수가 될 것으로 기대하지만 EntityFunctions.AddHours의 과부하에는 두 개의 정수가 필요하지 않습니다. – Arbiter

관련 문제