EFクエリのDateTime関数は、クエリ式の外部のDateTime関数がILを実行しているマシンによって評価されるSQL Serverによって評価されますか?Datetime.Utc C#ILのDateTime.UtcNowと異なる評価を受けました
私はSalesOrdersの
public class SalesOrder
{
public Int32 OrderID {get;set;}
public DateTime Expiration {get;set;}
}
私はEFのクエリを実行し、私はこれを行う際に異なる結果を得ているアプリケーションがあります。
var open = (from a in context.SalesOrders
where a.Expiration > DateTime.UtcNow
select a).ToList();
:私はこれを行う場合よりも
DateTime utcnow = DateTime.UtcNow;
var open = (from a in context.SalesOrders
where a.Expiration > utcnow
select a).ToList();
を
これは、Entity FrameworkクエリのDateTime.UtcNowがSQL Serverによって評価されるためですクエリの外にあるDateTime.UtcNowは、ILを実行しているマシンによって評価されます。 I'm basing that off this answer。
私はAzureプラットフォームのサービスとして、Azure SQL DBを使用してローカルでデバッグすることが重要です。
あなたが別の時間にそれらを実行し、 'DateTime.UtcNow'が – dotctor
@dotctorが異なるかもしれないので、「異なる時間でそれらを実行する」:ここでは完全なリストはありますか?私は一方向に書かれた質問を持っており、数秒間に失効したものが見えます。私はコードを変更し、期限切れのことが行われます。 – radpin
今のうちの1台と5秒後のもう1台! – dotctor