LINQ,无法构造日期时间
我需要构造 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 不支持日期部分小时 输入日期。"}
怎么做?
添加了 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; }
}
I need to construct linq, but day (date time type, i.AllowedTime.AllowedDate.Day), hours and minutes (int type) stores differently. I try to make it:
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
};
}
but got an exception :
{"The datepart hour is not supported by date function dateadd for data
type date."}
how to do it?
ADDED class 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; }
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您正在查询的数据库中的“时间”字段可能是日期 数据类型。您无法执行时间操作,例如向日期类型添加分钟或小时。如果您将该字段更改为 DateTime 您可能会没事。
The field "Time" in the database you're querying is likely a Date data type. You cannot perform time operations like adding minutes or hours to a Date type. If you changed that field to be a DateTime you'd probably be okay.