2009-03-25 11 views
3

J'essaie d'utiliser framework d'entité et obtenir la date à partir du serveur SQL. L'ancienne façon de le faire dans LINQ est ci-dessous, mais je suis besoin de quelque chose pour le cadre de l'entité:GetDate() using Entity Framework

Partial Public Class ActivityActionsDataContext 
<[Function](Name:="GetDate", IsComposable:=True)> _ 
Public Function GetSystemDate() As DateTime 
    Dim mi As MethodInfo = TryCast(MethodBase.GetCurrentMethod(), MethodInfo) 
    Return DirectCast(Me.ExecuteMethodCall(Me, mi, New Object() {}).ReturnValue, DateTime) 
End Function 

End Class

Répondre

1

Avez-vous essayé d'utiliser DateTime.Now ou DateTime.UtcNow? Je voudrais pense qui serait converti en GetSystemDate() par le traducteur de requête.

+0

Cela donne le temps et les travaux, mais si l'application est en cours d'exécution dans un fuseau horaire différent alors il sera être éteint c'est comme j'ai besoin de l'heure du serveur et pas où l'application est en cours d'exécution. Merci de toute façon – OneSmartGuy

+0

Je ne sais pas si vous voulez l'heure UTC ou non, mais avez-vous essayé les deux? Vous pouvez également essayer DateTimeOffset, qui est plus précis sur ces questions. –

+1

var qry = (à partir de col dans db.ActivityActions sélectionnez DateTime.Now); Debug.WriteLine ((qry comme ObjectQuery) .ToTraceString()); Coutures pour produire ce dont j'ai besoin. Est-il possible de le faire sans utiliser d'une table? – OneSmartGuy

1

Rechercher avec Google "efquerysamples" échantillons cadres de l'entité et télécharger les bons exemples puis regardez CurrentDateTime fonction canonique(), il a travaillé avec:

DateTime fecha = ServicioContexto.Contexto.CreateQuery ("CurrentDateTime()") .Execute (MergeOption.NoTracking) .First(); Je voudrais en savoir plus sur les fonctions canoniques. Expliquez-moi, s'il vous plaît. Merci