NHibernate - Forza fuga sulla Nomi tabelle
-
21-08-2019 - |
Domanda
Ci sono buoni esempi di come usare questo (NHibernate.Criterion.IdentifierEqExpression) on-line? Non riuscivo a trovare qualsiasi. Sono un po 'confuso su ciò che si suppone di passare al costruttore.
Io passo in un Int32 di 1 e io continuo a pensare la mia prova deve fondamentalmente fare "Dove id = 1" tipo di query e invece fa saltare in aria con il "dove id =?" e qualcosa sui parametri posizionali. Se questo non è quello che dovrebbe essere passato al costruttore ... che cosa è?
vero problema
Quando guardo uscita SQL sembra funzionare correttamente, tranne per il fatto mio tavolo si chiama l'utente e NHibernate non racchiude come [utente]. Un modo per forzare questo?
Soluzione
Specifica il nome della tabella come `` User
. Ad esempio:
(HBM)
<class name="User" table="`User`">
(Fluent)
public UserMap()
{
WithTable("`User`");
...
(Mapping By Code)
public UserMap()
{
Table("`User`");
...
Allo stesso modo, con colonne dovrete fare qualcosa di simile:
Map(x => x.IsCurrent, "`Current`");
Oh le gioie di lavorare con DB legacy.