Hier ist mein Code.C# LINQ: DbFunctions.TruncateTime Wurf Fehler Diese Funktion kann nur von LINQ zu Entities aufgerufen werden
List<NPSEntity> Data = null; ;
using (var db = new NPSDbContext())
{
Data = (from n in db.NPSDatas
orderby n.AddDate, n.CountryCode
where DbFunctions.TruncateTime(n.NPSDate) >= StartDate.Date && DbFunctions.TruncateTime(n.NPSDate) <= EndDate
select n).ToList();
}
NPSData = Data.Select(n => new NPSEntity
{
NPSDate = DbFunctions.TruncateTime(n.NPSDate),
NPSAmount = n.NPSAmount,
AddDate = n.AddDate,
ModDate = n.ModDate,
UserID = n.UserID,
CountryCode = n.CountryCode
}).ToList();
if (NPSData!=null)
{
CountryCodes = NPSData.Select(e => e.CountryCode).Distinct();
CountryCount = CountryCodes.Count();
}
diese Linie zu werfen Fehler NPSDate = DbFunctions.TruncateTime(n.NPSDate),
Diese Funktion ist nur von LINQ to Entities
mein Ziel aufgerufen werden kann, ist an der Zeit Teil von NPSDateNPSDate = DbFunctions.TruncateTime(n.NPSDate)
, warum ich DbFunctions.TruncateTime
Funktion verwendet wird, zu entfernen.
sagen Sie mir, wie könnte ich dieses Problem beheben oder mir sagen, wie ich Zeit Teil von NPSDate beim Abrufen von Daten aus db entfernen könnte. meine NPSDate-Eigenschaft sieht wie public DateTime? NPSDate { get; set; }
aus, deshalb kann ich nicht NPSDate.Date
verwenden, bitte führen Sie mich. Dank
ich nicht 'nnNPSDate.Date.Date' verwenden können, weil mein n.NPSDate Eigenschaft Nullable Type' public Datetime ? NPSDate {erhalten; einstellen; } 'So kann ich die Date-Eigenschaft nicht verwenden. – Mou
dann: 'n.NPSDate.Value.Date', ist es besser, nach Null zu suchen:' n.NPSDate.HasValue? n.NPSDate.Value.Date? null ' –