後だから私はこの(消毒)コードでLINQを使用してデータベースクエリをやってる:最終的な結果は、独特の2000余りを含むリストであるLINQ .Take().Distinct()問題
var dateList =
Table1.Where(t1 => t1.column1.Contains(stringUsed)) //stringUsed is a parameter of the method containing this code
.Join(Table2, t1 => t1.columnName2, t2 => t2.columnName2,
(t1, t2) => new {t1, t2})
.Join(Table3, t1t2 => t1t2.t1.column3, t3 => t3.column3,
(t1t2, t3) => new {Date = t3.column4})
.Select(d => d.Date.Value) //Dates are stored as a DateTime? and I need to convert it to DateTime here
.Distinct()
.ToList();
日付(すべて井戸と良い)。ユーザーの要件ごとに、クエリで作成される最新の90レコードの日付を収集するだけで済みます(データはデータベース内で既にソートされているため、ここでそれを行う必要はありません)。
私はと.ToList()
の間に.Take(90)
を挿入しようとしました。結果は13レコードのみのリストです。他の誰かがこの問題を抱えているかどうかを調べるために、私はここや他の場所を検索しました。何も見つけられませんでした。何か案は?
「Table1」とは何ですか?エンティティフレームワークを使用していますか?もしそうなら、どのデータベースプロバイダですか? – recursive
はい、Entity Frameworkを使用しています。 Table1は私のOracleデータベースのテーブルです。コードを消毒しましたが、何が起きているのかを明らかにしようとしました....私は失敗したと思います。 – user3517375
デバッガに接続し、 '.Distinct()。Take(90).ToString()'の値を取得できますか?これは、生成されたSQLクエリを含む文字列を生成する必要があります。それを質問に追加することができれば、それは役に立ちます。 – recursive