【发布时间】:2011-04-16 22:46:55
【问题描述】:
我正在使用 System.Data.IDbCommand 来查询具有主键的表。我的查询将它与其他表连接起来,并在主键列中获取具有相同值但在其他连接列中具有不同值的多条记录,这是预期的行为。
但是,IDbCommand.ExecuteReader().GetSchemaTable() 显示读取器的内部架构表在该列上有一个主键。现在,如果我尝试将此阅读器加载到 System.Data.DataTable(普通旧 DataTable,未键入),它会引发约束冲突异常(显然是因为它试图为主键列插入相同的值)。
有没有一种方法可以指示 ExecuteReader() 忽略源架构或不强制执行约束?
其他信息:这是 .Net 2.0。
提前致谢
【问题讨论】:
-
结果表不应该有那个主键。您使用的是什么提供商?