2017-01-05 4 views
0

2つの日付の比較に問題があります。私は自分のDBに重複したレコードをたくさん持ち、実際のデータを取得します。私は実際のデータLinq Max()を取得するために使用します。 DBのテーブルでDBからLINQ経由で最大日数を比較

私はこの形式で時刻を持っています。

2017-01-03 09:19:21.220 

と私はmaxDateのはVAR

を分離するために取得しようとした場合、実際のデータ

.Where(y=> y.EditDate == DB.Table.Max(q => q.EditDate.Value)) 

をフィルタリングするためにLINQを使用しよう

var maxDate = DB.Table.Max(q => q.EditDate); 

この形式の日付を取得しました

03/01/2017 09:19:21 

Linq Max()が誤っていない場合、miliとμ秒を返さないため、この問題をどのように解決できますか。

ありがとうございました。

+1

私はあなたが間違っていると信じています。あなたはdatetimesを*任意の*形式で戻すことはできません。あなたはdatetimesとして戻します。ほとんどの場合、質問の最後の日時を表示するために使用したツールは、分数秒を出力しませんでした。そのテキストの入手方法を確認してください。 –

+0

私はVisual Studioでそれを壊します。プロパティでは、私はミリ秒を参照してください、なぜこのexpresionは動作しません? – tomas

+0

私は分かりませんが、あなたは実際には動作しないと言っていない、あなたはちょうどこれが私が得るような結果であると言っています、そして、 。 **実際には**問題があることを**確認**できますか? –

答えて

0

VAR maxDateは、実際にミリ秒を格納しますが、デバッガの表示は時計にmaxDate.ToString('dd/MM/yyyy HH:mm:ss.fff')を試してみてください.fff

なし形式dd/MM/yyyy HH:mm:ssを使用しています。

+0

あなたはそうです。プロパティで私はミリ秒を参照してください。しかし、 "Where"という式は、同じ日付の2つの時刻を比較してもデータは返されません。 – tomas

+0

@tomas比較を解決するのではなく、私はただ一つのレコードが必要な場合に '.OrderByDescending(y => y.EditDate).Take(1);'を使用するでしょう – Eric

+0

これは問題です。 。 – tomas