[英]Generating insert statement that includes identity column
我正在嘗試使用CommandBuilder生成包含Identity列的插入語句。 為了生成測試數據,我希望能夠在表上啟用“身份插入”后將一個值插入到身份列中
var sql = "Select * from Table";
var dataAdapter = new SqlDataAdapter(sql, conn);
dataAdapter.Fill(currentTable);
var cb = new SqlCommandBuilder(dataAdapter);
命令構建器的確會生成插入語句,但是我無法使其包含身份列。 我正在為許多表創建通用解決方案,因此我想避免手動生成語句。 有沒有辦法欺騙它包括所有列?
我也對不包含CommandBuilder的其他解決方案持開放態度
commandbuilder使用從數據庫獲得的架構,並且命令構建過程不可配置。 唯一的選擇可能是將“ instert into(”替換為“ insert into(id,”,“ values(”替換為“ values(@id,“。)。不要忘記在參數集合中添加@id參數。
使用純SQL執行此操作:
set IDENTITY_INSERT dbo.MyTable ON;
insert into dbo.MyTable (id, ...) values (1, ...)
...
set IDENTITY_INSERT dbo.MyTable OFF;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.