Domanda

Attualmente sto cercando di utilizzare scrivere un semplice C # classe wrapper per tutte le stored procedure in un database. Per questo sto usando CodeSmith ed in particolare lo SchemaExplorer.

Mentre scorrendo i parametri per una stored procedure, ho notato la proprietà ParameterSchema.AllowDBNull e si chiese che cosa questo è per. Per quanto ne so, non è possibile dichiarare un parametro come NOT NULL e quindi NULL è sempre permesso di essere passato a qualsiasi parametro.

Attraverso test, sembra che AllowDBNull è sempre vero (o almeno, non sono stato in grado di scrivere una procedura che si traduce in false). Quindi, questo mi porta a chiedere che cosa serve?

Ho trovato questo post da forum CodeSmith dal lontano 2003: http://community.codesmithtools.com/Support_Forums/f/3/t /264.aspx

Si dice che lo faranno "fix" questo nella prossima release che mi fa pensare che ci sia qualcosa che mi manca o non capire su questa proprietà.

Grazie per lo sguardo.

È stato utile?

Soluzione

Io lavoro per CodeSmith Tools e ho aggiornato il messaggio Forum dalla tua domanda. Ho consultato con Eric su questo problema e abbiamo deciso che era in base alla progettazione, perché si può sempre passare null in un parametro di stored procedure. Come parte della tua domanda, questa è una proprietà che è definito in una classe base e permette di rilevare su altri oggetti dello schema (ad esempio, ColumnSchema) se l'oggetto è annullabile.

Il CommandWrapper modelli genererà una classe fortemente tipizzato da una stored procedure o una funzione già esistente . Hai avuto la possibilità di dare un'occhiata a questo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top