我希望将月份和年份添加到linq的2个月后

时间:2018-01-08 08:34:14

标签: c# asp.net-mvc entity-framework linq

在那段代码Resignlastdate我需要两个月后

 DateTime dtFrom = DateTime.Now;
 var Resignuser = db.Employees.Where((m => (
    && !m.IsDeleted && m.IsActive
    && m.IsResign == true
    && new DateTime(m.ResignLastDate.Value.Year,m.ResignLastDate.Value.Month + 2 , 1)  >= dtFrom `that date i need two month later date`
    && m.StatusId != 3
    && m.StatusId != 4)))
   .Select(m => new
   {
       Display = m.FirstName + " " + m.LastName,
                 GUID = m.GUID
   }).ToList();

2 个答案:

答案 0 :(得分:2)

你可以试试这个。

DateTime dtFrom = DateTime.Now;
var Resignuser = db.Employees.Where((m => (
                && !m.IsDeleted && m.IsActive
                && m.IsResign == true
                && SqlFunctions.DateAdd("month",2,m.ResignLastDate)  >= dtFrom
                && m.StatusId != 3
                && m.StatusId != 4)))
                 .Select(m => new
                 {
                     Display = m.FirstName + " " + m.LastName,
                     GUID = m.GUID
                 }).ToList();

答案 1 :(得分:0)

试试这个。对于DbFunction,请使用System.Data.Entity

DateTime dtFrom = DateTime.Now.AddMonth(2);
var Resignuser = db.Employees.Where((m => (
                && !m.IsDeleted && m.IsActive
                && m.IsResign == true
                && DbFunctions.TruncateTime(m.ResignLastDate)  >= DbFunctions.TruncateTime(dtFrom)
                && m.StatusId != 3
                && m.StatusId != 4)))
                 .Select(m => new
                 {
                     Display = m.FirstName + " " + m.LastName,
                     GUID = m.GUID
                 }).ToList();