从120索引数组插入120列

时间:2016-07-25 16:42:32

标签: c# sql list c#-4.0 dapper

我有像这样的列名

Id
,Test
,[H01_1]
,[H01_2]
,[H01_3]
,[H01_4]
,[H01]
,[H02_1]
,[H02_2]
,[H02_3]
,[H02_4]
,[H02]
,[H03_1]
,[H03_2]
,[H03_3]
,[H03_4]
,[H03]
,[H04_1]
,[H04_2]
,[H04_3]
,[H04_4]
,[H04]
,[H05_1]
,[H05_2]
,[H05_3]
,[H05_4]
,[H05]
,[H06_1]
,[H06_2]
,[H06_3]
,[H06_4]
,[H06]
,[H07_1]
,[H07_2]
,[H07_3]
,[H07_4]
,[H07]
,[H08_1]
,[H08_2]
,[H08_3]
,[H08_4]
,[H08]
,[H09_1]
,[H09_2]
,[H09_3]
,[H09_4]
,[H09]
,[H10_1]
,[H10_2]
,[H10_3]
,[H10_4]
,[H10]
,[H11_1]
,[H11_2]
,[H11_3]
,[H11_4]
,[H11]
,[H12_1]
,[H12_2]
,[H12_3]
,[H12_4]
,[H12]
,[H13_1]
,[H13_2]
,[H13_3]
,[H13_4]
,[H13]
,[H14_1]
,[H14_2]
,[H14_3]
,[H14_4]
,[H14]
,[H15_1]
,[H15_2]
,[H15_3]
,[H15_4]
,[H15]
,[H16_1]
,[H16_2]
,[H16_3]
,[H16_4]
,[H16]
,[H17_1]
,[H17_2]
,[H17_3]
,[H17_4]
,[H17]
,[H18_1]
,[H18_2]
,[H18_3]
,[H18_4]
,[H18]
,[H19_1]
,[H19_2]
,[H19_3]
,[H19_4]
,[H19]
,[H20_1]
,[H20_2]
,[H20_3]
,[H20_4]
,[H20]
,[H21_1]
,[H21_2]
,[H21_3]
,[H21_4]
,[H21]
,[H22_1]
,[H22_2]
,[H22_3]
,[H22_4]
,[H22]
,[H23_1]
,[H23_2]
,[H23_3]
,[H23_4]
,[H23]
,[H24_1]
,[H24_2]
,[H24_3]
,[H24_4]
,[H24]

我正在尝试用dapper编写一个简单的INSERT(SQL Server 2014)。 对于Id和Test我正在写一个匿名对象放入参数但是我不确定什么是采用120长度int的最佳方法?数组并将其插入以H

开头的列中

索引0转到H01_1,索引1转到H01_2 ...等等

我不想编写说

的SQL
H01_1 = @H01_1,
H01_2 = @H01_2,
...

然后还必须创建一个

的匿名对象
H01_1 = array[0],
H01_2 = array[1],
...

我能做的一件事就是插入Id和Test然后返回并对该记录进行更新。但我仍然处于我以前的情况,我不知道在没有写出120次的情况下在dapper中编写UPDATE的最佳方法。

1 个答案:

答案 0 :(得分:0)

  1. 如果可以更改数据表结构,则只需遵循以下设计

    在您的表格中,您有更多的列数,并找出您指定的ID为主要ID。因此,不要使用以下数据结构。

  2. ID                 test          column                            value                                  
    
         
    01               xyz           H01_1                           val_H01_1 
    
      
      01               xyz             H01_2                         val_H01_2  
    

    为ID,test和列分配组主键。

    1. 如果不可能改变结构。然后从前端数据创建XML并创建如下所示的存储过程以执行它。如果你使用http://www.itworld.com/article/2960645/development/tsql-how-to-use-xml-parameters-in-stored-procedures.html,那么你就会明白。