So che LINQ to SQL non converte DateTime
in string
poiché non vi è ToString()
in SQL. Ma come posso convertire lo DateTime
in una stringa formattata?Convertire data/ora in una stringa formattata all'interno di una query LINQ su SQL
Questa è la linea nel seguente query che ha bisogno di aiuto:
StartDate = string.Format("{0:dd.MM.yy}", p.StartDate)
Tutta la query:
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 Offer()
{
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 = string.Format("{0:dd.MM.yy}", p.StartDate)
}).First();
ottengo il seguente messaggio di errore:
LINQ to Entities does not recognize the method 'System.String ToString(System.String)' method, and this method cannot be translated into a store expression.
Errore: LINQ to Entities non riconosce il metodo "System.String ToString (System.String)" e questo metodo non può essere convertito in un'espressione di archivio. – kandroid
Quindi p.StartDate è un DateTime o una stringa? – mccow002
p.startdate -is datetime – kandroid