2012-02-07 22 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'のデータ型とは何ですか?私はそれが整数であることを期待していますが、2つの整数をとるEntityFunctions.AddHoursのオーバーロードは見ません。 – Arbiter

関連する問題