简体   繁体   English

如何将列表中的模型插入存储过程

[英]How to insert model from list into stored procedure

My program is making a query from one database and I want that query to be added to a stored procedure in another database.我的程序正在从一个数据库进行查询,我希望将该查询添加到另一个数据库的存储过程中。 At first I was insert each parameter as a List, but I want to optimize the code and insert all parameters into one List.起初我将每个参数作为一个列表插入,但我想优化代码并将所有参数插入一个列表。 I add all select options to list:我将所有选择选项添加到列表中:

public void GetResult(SqlCommand command)
        {

            var list = new List<Models>;

            using(var reader = command.ExecuteReader())
                while (reader.Read())
                {
                    var rows = new Models;
                    rows.Md1 = Convert.ToInt32(reader["md1"]);
                    rows.Md2 = Convert.ToInt32(reader["md2"]);

                    list.Add(rows);
                }

            using var InsertCommand = new OracleCommand();
            InsertCommand.CommandText = "PathToProcedure";

            var Param1 = new OracleParameter("param1", OracleDbType.Int32, ParameterDirecion.Input);
            Param1.CollectionType = OracleCollectionType.PLSQLAssociativeArray;
            Param1.Value =
            Param2.Size = 


        }

Question: How to create a link to these rows to insert them in parameters?问题:如何创建指向这些行的链接以将它们插入参数中? Thanks in advance!提前致谢!

SP: SP:

create or replace package body transfer_package is

procedure getdt(param1 in t_number,
                param2 in t_number)
        is
  begin
    if param1.count > 0 then
       for i in 1 .. param1.count loop
    insert into table
          (parameter1,
           parameter2)
        values
          (param1(i),
           param2(i));
      
        end loop;
end;

The solution of my question is a Linq library...我的问题的解决方案是一个 Linq 库......

Param1.Value = list.Select(Models => Models.Md1).ToArray();
Param2.Size = list.Select(Models => Models.Md2).ToArray();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM