【问题标题】:LINQ to Entities does not recognize the method inside the select sectionLINQ to Entities 无法识别选择部分中的方法
【发布时间】:2018-10-11 13:45:41
【问题描述】:

我需要AddYears(2) 中的select new ShowRequestsModel。我怎样才能做到这一点?它抛出一个异常

var requests = (from req in db.PartRequests
                join info in db.UsersInfos on req.UserId equals info.aspnet_UserId
                join prodName in db.Products on req.ProductId equals prodName.Id
                join partRequestStatus in db.PartRequestStatus on req.PartRequestStatusId equals partRequestStatus.Id           
                select new ShowRequestsModel
                {                                                                                                                
                    WarantyExpirationDate = req.PurchasedDate.AddYears(2),
                    IsWarantyExpired = false
                })
                .Sort(sortField, sortBy);

【问题讨论】:

    标签: entity-framework linq linq-to-sql linq-to-entities


    【解决方案1】:

    你需要DbFunctions 类(System.Data.Entity),尤其是它的 AddYears()方法

    var requests = (from req in db.PartRequests
                join info in db.UsersInfos on req.UserId equals info.aspnet_UserId
                join prodName in db.Products on req.ProductId equals prodName.Id
                join partRequestStatus in db.PartRequestStatus on req.PartRequestStatusId equals partRequestStatus.Id           
                select new ShowRequestsModel
                {                                                                                                                
                    WarantyExpirationDate = DbFunctions.AddYears(req.PurchasedDate, 2),
                    IsWarantyExpired = false
                })
                .Sort(sortField, sortBy);
    
    猜你喜欢
    • 1970-01-01
    • 2015-06-21
    • 2014-08-09
    • 1970-01-01
    • 2012-04-03
    • 2021-11-06
    • 2012-05-03
    相关资源
    最近更新 更多