0
0
C#で、EntityFrameworkを利用したシステムを開発中です。
データベースはSQL Serverです。
親子関係保証について
あるテーブルAとテーブルBが親子関係にあります。Aを親、Bを子とします。
クライアントAでの子レコード追加処理の時に、親子関係保証するための手法としてはどちらが良いでしょうか。
- 親テーブルにUPDLOCKをかけてSELECTし、親レコードが存在するか確認する
- 子テーブルBに外部キーを作成して、SQL Serverの親レコードなしエラーをハンドリングする。
重複回避について
あるテーブルAにレコードを追加するとき、重複が発生しないようにする手法としてはどちらが良いでしょうか。
- テーブルAにTABLOCKXをかけてSELECTし、同一の重複不可項目が登録されていないか確認する。
- テーブルAにユニークキーを作成し、レコード追加実行時のSQL Serverのユニーク制約違反をハンドリングする。
どちらの議題についても、SQL Serverのエラーハンドリングで良い気がしますが、ユーザーがわかりやすいメッセージにするには、EntityFrameworkで特定のエラーをハンドリングしないといけないので難しいのでは、と思っています。
ご意見よろしくお願いします。
回答6件
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。