4

WCF Dataserviceを作成し、正常に動作するPostman(Chrome拡張機能)を使用してテストしました。次に、クライアントC#ライブラリでWCFデータサービスを指すサービス参照を追加しました。

DataServiceでTransactionsDbSetを呼び出すと、トランザクションの数が正しく取得されますが、リスト内のすべてのアイテムがリスト内の最後のアイテムで上書きされました。つまり、データベースに10個のトランザクションがある場合、リストには10​​個のトランザクションが含まれますが、すべてのアイテムのデータは同じであり、データベースの最後のアイテムです。

以下に示すように、単純なLINQを使用してデータを取得しています

List<Transaction>() tempList = new List<Transaction>(); 
tempList = GetContext().Transactions.ToList();

奇妙な部分は、Fiddlerを使用してデータベースで実行されるクエリをキャッチすると、データベースからの出力は正常です。つまり、クライアントで何かが発生し、リスト内のすべてのアイテムが最後のアイテムでオーバーライドされます。誰かがこれをデバッグする方法や、リストをオーバーライドしている人を見つける方法を教えてもらえますか?

4

1 に答える 1

0

テーブルにUNIQUEキーがないことがわかったので、逆シリアル化すると、最後に見つかったアイテムがリストに追加されます。

于 2012-12-03T21:05:18.487 に答える