Convert datetime to a formatted string inside a LINQ-to-entities query

前端 未结 6 895
时光取名叫无心
时光取名叫无心 2020-12-13 19:15

How can I convert DateTime into a formatted string?

This is the line in the following query that needs help:

StartDate = string.Format(\         


        
6条回答
  •  一生所求
    2020-12-13 19:36

    Another option is using SqlFunctions.DateName, your code will be like this:

    var offer = (from p in dc.CustomerOffer
                     join q in dc.OffersInBranch
                         on p.ID equals q.OfferID
                     where q.BranchID == singleLoc.LocationID
                     let value = (p.OriginalPrice - p.NewPrice) * 100 / p.OriginalPrice
                     orderby value descending
                     select new
                     {
                         Title = p.OfferTitle,
                         Description = p.Description,
                         BestOffer = value,
                         ID = p.ID,
                         LocationID = q.BranchID,
                         LocationName = q.CustomerBranch.BranchName,
                         OriginalPrice = SqlFunctions.StringConvert((decimal)p.OriginalPrice),
                         NewPrice = SqlFunctions.StringConvert((decimal)p.NewPrice),
                         StartDate = SqlFunctions.DateName("day", p.StartDate) + "/" + SqlFunctions.DateName("month", p.StartDate) + "/" +  SqlFunctions.DateName("year", p.StartDate)
                     })
    

    I found it useful if you don't want to add an extra select new block.

提交回复
热议问题