2013-03-19 11 views
5

In che modo è possibile passare un parametro con valori di tabella in una query quando si utilizza Mono? (Attualmente sto usando la versione 2.10.12)Utilizzo di parametri con valori di tabella (SqlDbType.Structured) in Mono 2.10

Sembra che l'enumerazione SqlDbType in Mono non sia stata estesa per corrispondere all'implementazione di Microsoft dell'enumerazione, né che la classe SqlParameter sia stata aggiornata per includere la proprietà TypeName.

sfondo su di me e la mia domanda:

  • Sono molto familiare con table-valued parameters
  • Ho Googled questo ampiamente
  • Ho provato a raggiungere gli altri nel canale #mono in IRC. gnome.org

Qualsiasi aiuto su questa domanda è molto apprezzato!

+0

Dopo alcuni scavi, ho scoperto che Mono 3.0+ include il valore di enumerazione SqlDbType.Structured aggiornato, ma SqlParameter non include la proprietà TypeName. –

+0

Dai un'occhiata a questo- https://stackoverflow.com/a/45589246/2375071 –

risposta

0

Sto provando a fare la stessa cosa. Nel nostro caso, non è stato necessario impostare TypeName per far funzionare la query su MS .Net, che ha eliminato l'errore Mono.

Ora ottengo il seguente errore:

System.ArgumentOutOfRangeException: No mapping exists from SqlDbType Structured to a known DbType

Ho decompilato System.Data.dll dalle librerie Mono 3.0 e la mappa che crea non contiene una mappatura per SqlDbType.Structured. L'enumerazione per SqlDbType nella libreria Mono ha enumerato Structured.

Da quello che posso dire, Mono non supporta il passaggio di parametri di valori UDT/tabella a query SQL. Stiamo ancora cercando dei modi per aggirare questo problema, ma non ho molte speranze. La ricerca sul Web per UDT e mono non restituisce quasi risultati.

+0

Grazie per la conferma. –

+0

Qualche notizia su questo thread? Mono supporterà una funzione del genere ora? –

+0

È nel codice sorgente, ma non l'ho provato personalmente: https://github.com/mono/mono/blob/0bcbe39b148bb498742fc68416f8293ccd350fb6/mcs/class/referencesource/System.Data/System/Data/SqlDbType.cs# L48 –