INSERTステートメントの実行後に自動生成されたIDを取得する方法はADO.NETにありますか?SELECT @@IDENTITY
SQL ServerとMySQLについては知っていSELECT last_insert_id()
ますが、必要なのはIDを取得するためのデータベースに依存しない方法です。
質問する
420 次
1 に答える
2
最後に挿入されたIDを取得するコマンドはベンダー固有であるため、方法が存在するとは思いません。できることは、クエリを組み込んでメインクエリに最後に挿入されたIDを取得し(これはあなたが望むものではないことを理解しています)、データベースに関係なく(特定のADO.NETタイプに依存せずに)それを読み取るC#関数を作成することですただし、インターフェイスで指定されたメソッドIDbDataReader
またはIDbCommand
)
それ以外の場合は、Entity FrameworkなどのORMソリューションに依存する必要があります。これにより、最後に挿入されたIDを手動で取得する手間が省けますが、実装は非常にデータベース固有です。あなたはここでそれについての素晴らしい議論を見ることができます:
このリンクを見ると、データアダプターに依存してレコードに直接アクセスするための洞察が得られます(ただし、私はそれが好きではありません)。
于 2012-11-10T10:37:56.050 に答える