私は非常に単純なコードだと思っていましたが、結果は私を困惑させています。私はLINQを使用してエンティティにクエリを行い、結果を繰り返して配列を作成しています。私はデータベースとの間のトラフィックを監視しており、すべてがうまく見えます。 LINQがSQLに送信するクエリをコピーしてSQLに対して直接実行すると、期待される結果が得られます。しかし、結果を繰り返したり、結果を見ることさえすれば、すべてのレコードはまったく同じです。これはNOT SQLが返すものです。私は間違って何をしていますか?LINQエンティティの結果を反復する
var eventList = from e in entityContext.AuctionSet select e;
ArrayList DayArray = new ArrayList();
int i = 0;
foreach (Auction ae in eventList)
{
// If I put a watch on eventList all the records are the same!
Auction temp = ae; // Even tried copying to a temp value per another solution
// Even though the records are different in the database,
// and the correct number of records are returned, EVERY "ae" instance
// has the exact same values!
DayArray.Add(new {
id = i,
title = temp.County.ToString()
});
i++;
}
ありがとうございます!
EDIT:エンティティがビューから来ていることを忘れてしまいました。これは、主キーについてのコメントがあれば意味があります。
好奇心から離れて、どうしてArrayListを使用していますか?なぜあなたはリストを使用していません? –
BFree
"eventList"の種類は何ですか? –
このビットのコードの後にJSONにシリアル化されているため、ArrayListを使用しています。 –