我有一个数据集 - ImageDataSet.xsd - 其中有一个数据表 - 颜色 - 与它相关的 tableadapter - ColourTableAdapter -。此 ColourTableAdapter 添加了一个自定义查询 - FillByColourID - 链接到数据库存储过程 - Colour_SelectByColourID -。
如果我只能访问表适配器和查询名称,例如 ColourTableAdapter 和 FillByColourID,我怎么可能获得存储过程名称?我已经检索到要调用的正确 MethodInfo,但我还需要知道存储过程的名称。
查看 xsd 文件中的查询,我看到有列出 FillMethodName 和 CommandText 的属性,这是我需要在适配器上调用的方法和我正在寻找的存储过程名称,但我不知道如何到达这些属性。我已经使用反射查看了适配器,但似乎找不到正确的属性来给我这些信息。
编辑:
我需要存储过程名称,因为我有一个正在运行的 SqlConnection 和 SqlTransaction,它跨越从基类和类继承的多个表适配器,因此我需要为所有命令手动设置连接和事务。事务范围不起作用,因为它需要在 Windows 中运行我们的环境没有的东西(真的不记得它是什么了)。
目前,我必须在表适配器库中设置所有命令,因为我实际上并不知道要调用哪个命令。使用存储过程名称,我可以只设置该命令,因为某些表适配器有 50 个查询,我担心性能影响。