Я работаю над небольшим учебным проектом, который направил меня на создание Oracle UDT, который содержит ассоциативный массив.
Массив определен следующим образом:
create or replace TYPE TRNG_AUTHORS_TAB AS
TABLE OF VARCHAR2(50) ;
Тогда UDTиспользует это следующим образом:
create or replace TYPE TRNG_BOOK_OBJ AUTHID DEFINER
AS OBJECT
(
<SNIP normal variable mappings>
AUTHORS TRNG_AUTHORS_TAB
) NOT FINAL;
Теперь я сопоставляю это с классом C #.TRNG_BOOK_OBJ отображается как UDT с соответствующей фабрикой.
Однако я не могу понять, как сопоставить ассоциативный массив как часть класса.Я попытался использовать List или string [], но они не сработали.
Моя следующая мысль - создать класс C # UDT для TRNG_AUTHORS_TAB, который затем я могу сопоставить с классом, украшенным атрибутом OracleArracyMapping., но я не могу понять, как создать UDT ассоциативного массива, учитывая, что содержащийся в нем строковый столбец не имеет имени для сопоставления.
Может кто-нибудь помочь мне решить эту проблему, приведя примерыкак сопоставить ассоциативный массив с массивом List или C #, или как сопоставить тип ассоциативного массива с классом C # UDT?