簡體   English   中英

如何將列表中的模型插入存儲過程

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

我的程序正在從一個數據庫進行查詢,我希望將該查詢添加到另一個數據庫的存儲過程中。 起初我將每個參數作為一個列表插入,但我想優化代碼並將所有參數插入一個列表。 我將所有選擇選項添加到列表中:

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 = 


        }

問題:如何創建指向這些行的鏈接以將它們插入參數中? 提前致謝!

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;

我的問題的解決方案是一個 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