問題タブ [hashbytes]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 'Computed' に設定されたプロパティ 'StoreGeneratedPattern' はサポートされていません。「アイデンティティ」パターンを使用する
私はEntity Frameworkデータベースを使用しています最初のアプローチ
ID(int、IDインクリメント)、SQLハッシュバイトを使用して複数の列に基づいて自動生成されたHashKey(バイナリ)の複合主キーを持つテーブルがあります。
以下はEF列マッピングです
ID storeGeneratedPattern="Identity" およびハッシュキー (バイナリ) storeGeneratedPattern="Computed"。
EF save changes メソッドを使用して保存しようとすると、以下の例外がスローされます。
「主キー列のプロパティ 'StoreGeneratedPattern' が 'Computed' に設定されているテーブルの変更はサポートされていません。代わりに 'Identity' パターンを使用してください。キー列: 'HashKey'.Table"
これらの列 (Id、Hashkey) に複合主キーを適用して、クラスター インデックスが含まれているため検索を高速化しました。ただし、EF がこれをサポートしているかどうかは不明です。
以下のリンクを見てきました。しかし、私は解決策について確信が持てません。
StoreGeneratedPattern が Identity に設定されているプロパティは、SaveChanges() の後で更新されません
誰でも問題を解決するためにこれを手伝ってもらえますか。
javascript - JavaScript ファイル内で HASHBYTES を生成する
安全なトークンを生成する必要があります。このトークンは WebApi によって消費されます。JavaScriptファイルを介してそのWebapiをリクエストしています。SPAアプリです。だから私の質問は、Sqlサーバーの応答を使用せずに以下のトークンを生成できますか?
sql - HASHBYTES (SHA1) を使用して特定の列をハッシュすると、その列の行がハッシュされていない列よりも多くなります。
簡単に言えば、database
何十万ものエントリと何百もの異なる列を持つ非常に大きなものがあります。
これらの列の一部は、スペースなどを節約するためにハッシュする必要があります。ただし、次のようにハッシュしようとすると:
これを行った場合よりも多くの行が得られます。
私の最善の推測は、選択した個別は大文字と小文字を区別しないのに対し、Hashbytes は大文字と小文字を区別するということです。しかし、これをテストまたは修正する方法がよくわかりません。
何か案は?
sql - Binary_Checksum 対 HashBytes 関数
多くのバイナリ チェックサム関数を使用する複雑なクエリがあります。2 つの異なるレコードのテスト データを使用してテストすると、実際には同じチェックサム値が返されました。以下で使用したテストデータを見つけてください
現在、一意のレコードを確実に取得できる「MD5」アルゴリズムで HASHBYTES 関数を使用しようとしていますが、現在のクエリでは「チェックサム」値を使用して「マージ」ステートメントに結合することが懸念されます新しい記録を探すために。「HashBytes」は Varbinary データ型を返すため、結合条件を「HashByte」フィールドに置き換えると、どれだけのパフォーマンス オーバーヘッドが期待できるかを示します。
さらに、複数の列のハッシュを作成する必要があります。その場合、追加の Concat 関数が必要になると、パフォーマンスに追加のオーバーヘッドが発生します。