0

データ入力に使用する単純な Web ページがあります (.NET 4.5 および EF5 で構築)。ユーザーがエントリを更新するたびに、挿入された前の行よりも大きい TimeStamp 値を持つ新しい行が作成されます (SQL Server が保証します)。

DB では、生データは次のようになります。つまり、このデータは、TransactionNumber = 1 が 1 回追加され、その後 2 回更新されたことを意味します。

+---------------+-------------------+-----------+--------------------+
| TransactionId | TransactionNumber |  Comment  |     TimeStamp      |
+---------------+-------------------+-----------+--------------------+
|             1 |                 1 | Bla       | 0x00000000000007D1 |
|             2 |                 1 | BlaBla    | 0x00000000000007D2 |
|             3 |                 1 | BlaBlaBla | 0x00000000000007D3 |
|             4 |                 2 | Hello     | 0x00000000000007D4 |
+---------------+-------------------+-----------+--------------------+

各 TransactionNumber の最新の値のみを取得する Linq クエリを作成したいと思います。上記のデータを考慮すると、クエリは次の結果を返します。

+---------------+-------------------+-----------+--------------------+
| TransactionId | TransactionNumber |  Comment  |     TimeStamp      |
+---------------+-------------------+-----------+--------------------+
|             3 |                 1 | BlaBlaBla | 0x00000000000007D3 |
|             4 |                 2 | Hello     | 0x00000000000007D4 |
+---------------+-------------------+-----------+--------------------+

これまでに直面している最大の問題は、TimeStamp 列の型が byte[] であり、バイトの比較を可能にする方法がわからないことです。これを行う方法はありますか?

public class Transaction
{
    // ...

    [Timestamp]
    public Byte[] TimeStamp { get; set; }
}
4

1 に答える 1