将数据返回到 C# 的 Oracle 最佳实践是什么?

本文关键字:最佳 是什么 Oracle 数据 返回 | 更新日期: 2023-09-27 18:32:13

我对Oracle完全是绿色的,我正在寻找从Oracle DB调用和检索数据的最佳实践。

在 C# 中,我可以做到这一点...

    OracleCommand cmd = new OracleCommand();
    cmd.Connection = conn;
    cmd.CommandText = "SELECT * FROM MyTable WHERE id = 3";
    cmd.CommandType = CommandType.Text; 
    OracleDataReader dr = cmd.ExecuteReader();
    dr.Read();
    string lastName = dr.Get<string>("A_Field_1");

但是,我想在 Oracle 中创建一个存储过程以返回数据表。例如"从我的表格中选择 *"。

Oracle 中创建存储的过程,也许在我的代码库中使用函数或行,这是更好的做法吗?

我更愿意创建一个存储的过程,但我正在努力解决完成这个简单任务所需的语法。

将数据返回到 C# 的 Oracle 最佳实践是什么?

最佳做法是创建存储过程,而不是在 C# 中使用动态 SQL。在您的情况下,您可以创建这样的简单过程;

create procedure myproc (prc out sys_refcursor)
is
begin
   open prc for SELECT * FROM MyTable WHERE id = 3
end;

但是,正如Klaudiusz指出的那样,也可以使用某种ORM。