5

Ich möchte Datum nur aus der Datenbank 'Datum Zeit' Wert Ich benutze den unten stehenden Code..aber es wird Datum und Uhrzeit Teil bekommen.Datum nur Teil von Datetime-Wert mit Entity-Framework

using (FEntities context = new FEntities()) 
{ 
    DateTime date = DateTime.Now; 
    if (context.tblvalue.Any(x => x.date == date)) 
    {  
    } 
} 
+0

nicht Zeichen ausgewählte Antwort für Ihre questions.That vergessen werden andere Menschen helfen, die richtige Antwort zu finden. Es scheint, als hätten Sie niemals Antworten für Ihre Fragen ausgewählt. –

+0

das funktioniert nicht bei mir.aber ich benutze wie unten.noch funktioniert..danke 'x.date.Value.Date == date.Date' – Safeena

+0

' DateTime.Date' wird in EF bis jetzt nicht unterstützt, also weiß ich nicht, wie das jetzt für dich arbeiten kann. –

Antwort

17

Sie Teile nur angegeben vergleichen kann:

context.tblvalue.Any(x => x.date.Year == data.Year 
         && x.date.Month == data.Month 
         && x.date.Day == data.Day); 

EDIT: können Sie auch Folgendes versuchen:

context.tblvalue.Any(x => EntityFunctions.TruncateTime(x.date) == data.Date); 

Ein anderer Ansatz:

context.tblvalue.Any(x => SqlFunctions.DatePart("year", x.date) == data.Year 
         && SqlFunctions.DatePart("month", x.date) == data.Month 
         && SqlFunctions.DatePart("day", x.date) == data.Day); 
+1

dafür, welche Entity-Framework-Version muss ich verwenden.Jetzt kann ich 'x.date.Year == date.Year' nicht verwenden – Safeena

+0

@Safeena siehe meine Bearbeitung. –

+4

In neueren Versionen von EF, EntityFunctions ist veraltet und wurde durch "DbFunctions" ersetzt, aber ansonsten ist der zweite Ansatz sehr gültig und was ich unter diesen Umständen verwenden. –

0
context.Database.SqlQuery<T>(sql, sql_parameters) 

akzeptiert reines SQL im ersten Parameter. Verwenden Sie die MS SQL Server-Funktion CONVERT (VARCHAR (6), Datum_Wert, 112) AS MonthYYYYmm zum Abrufen Jahr mit Monat.

2

Mit Entity Framework 6 und Update Verwendung

context.tblvalue.Any(x => DbFunctions.TruncateTime(x.date) == data.Date);