【问题标题】:LINQ, can't construct datetimeLINQ,无法构造日期时间
【发布时间】:2012-02-08 21:02:30
【问题描述】:

我需要构造 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
                     };
        }

但有一个例外:

{"日期函数 dateadd 不支持 datepart 小时 输入日期。"}

怎么做?

添加类 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; }
}

【问题讨论】:

    标签: linq asp.net-mvc-3 entity-framework-4 linq-to-entities


    【解决方案1】:

    您正在查询的数据库中的“时间”字段可能是Date 数据类型。您不能执行时间操作,例如将分钟或小时添加到日期类型。如果您将该字段更改为DateTime,您可能会没事。

    【讨论】:

    • 字段“时间”在数据库中根本不存在。它是 MeetingModel2 类的属性
    • 那么'i.AllowedTime.AllowedDate.Day'的数据类型是什么?我希望它是一个整数,但我没有看到需要两个整数的 EntityFunctions.AddHours 重载。
    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 2013-10-02
    • 2012-02-07
    相关资源
    最近更新 更多