LINQ, не может построить дату и время - PullRequest
0 голосов
/ 08 февраля 2012

Мне нужно создать linq, но день (тип даты и времени, i.AllowedTime.AllowedDate.Day), часы и минуты (тип int) сохраняются по-разному.Я пытаюсь сделать это:

        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
                     };
        }

, но получил исключение:

{"Час datepart не поддерживается функцией date datedd для типа данных date."}

как это сделать?

ДОБАВЛЕНО класс 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; }
}

1 Ответ

2 голосов
/ 08 февраля 2012

Поле "Время" в запрашиваемой базе данных, вероятно, имеет тип данных Дата . Вы не можете выполнять операции с временем, такие как добавление минут или часов к типу даты. Если вы изменили это поле на DateTime , вы, вероятно, будете в порядке.

...