你能用ADO.NET SQLCommandBuilder和复合键吗?

5 ado.net sqlcommandbuilder sqlclient

我有一个包含6列的数据库表.主键是由6列中的5列组成的复合键

我正在尝试使用SqlClient.SqlCommandBuilder.GetDeleteCommand删除行.

但是我收到以下错误:

"System.InvalidOperationException:对于不返回任何键列信息的SelectCommand,不支持DeleteCommand的动态SQL生成."

SelectCommmand包含表中的所有列:

SELECT  TABLENAME.COL1, TABLENAME.COL2, TABLENAME.COL3, 
        TABLENAME.COL4, TABLENAME.COL5, TABLENAME.COL6
FROM TABLENAME  
Run Code Online (Sandbox Code Playgroud)

问题可能是复合键吗?

小智 1

我不认为你的问题是复合键。根据文档,主键不必是单个列。不过,自动生成语句还需要其他限制。尝试通读本文档以确保您没有遗漏任何内容。