DateTime
aが既にデータベースにあるかどうかを確認しようとしています。
何が起こっているのかをよりよく理解するために、以下のコードを分割しましたが、最善の努力にもかかわらず、dateChecks は常に空のリストを返します。
var MyDate = DateTime.Now;
foreach (var milestone in mtMilestone.Milestones)
{
var checkIfAlreadyPulled = _ipdb.JsonDataReleases.
Where(x => x.ReleaseId == mtMilestone.ReleaseId).ToList();
var dateChecks = checkIfAlreadyPulled.
Where(x => EntityFunctions.Equals(x.LastUpdated, MyDate)).ToList();
if (!dateChecks.Any())
{
/* do stuff what this does it it makes a new entry into the JsonDataReleases
db using MyDate as the new LastUpdated value. */
}
/* Does more unrelated stuff... */
}
編集:だから私はそれを理解しました!
DateTime.Now が LastUpdated 値として SQL データベースに保存されていたときに、ミリ秒が切り落とされていることがわかりました。
var now = DateTime.Now;
var MyDate= new DateTime(now.Year, now.Month, now.Day, now.Hour, now.Minute, now.Second);