У меня есть объект c#
public class Person
{
public string Name { get;set; }
public string Surname{ get;set; }
public string Phone { get;set; }
public string Address { get;set; }
// More properties here
}
Итак, я передаю его в oracle хранимую процедуру таким образом
var con = new OracleConnection("connection string");
var com = con.CreateCommand("create_user");
com.Parameters.Add("name", OracleDbType.Varchar2, Name , ParameterDirection.Input);
com.Parameters.Add("surname", OracleDbType.Varchar2, Surname, ParameterDirection.Input);
com.Parameters.Add("phone", OracleDbType.Varchar2, Phone , ParameterDirection.Input);
// More adds here
моя oracle процедура
CREATE OR REPLACE PROCEDURE Person(
name IN Person.name%TYPE,
surname IN Person.surname%TYPE,
phone IN Person.phone%TYPE,
address IN Person.address%TYPE
-- more parameters
)
IS
BEGIN
INSERT INTO Person ("name", "surname", "phone", "address")
VALUES (name, surname,phone, address);
COMMIT;
END;
/
Проблема: : есть ли другие способы передать объект в oracle? Потому что мне кажется немного странным создавать процедуру с 10+ входными параметрами. Или лучше использовать xml (clob) связь?