NHibernate - Força escapar em nomes de tabelas
-
21-08-2019 - |
Pergunta
Existem bons exemplos de como usar este (NHibernate.Criterion.IdentifierEqExpression) online? Eu não poderia encontrar qualquer. Estou um pouco confuso sobre o que você é suposto passar para o construtor.
eu passar em um int32 de 1 e eu fico pensando o meu teste deve, basicamente, fazer um "Onde id = 1" tipo de consulta e, em vez de explodir com "onde id =?" e algo sobre parâmetros de posição. Se isso não é o que é suposto ser passado para o construtor ... o que é?
Issue real
Quando eu olho para a saída SQL parece estar funcionando corretamente exceto pelo fato de minha mesa tem o nome de usuário e NHibernate não está colocando-o como [usuário]. Qualquer maneira de forçar isso?
Solução
Especifique o nome da tabela como `User
`. Por exemplo:
(HBM)
<class name="User" table="`User`">
(Fluent)
public UserMap()
{
WithTable("`User`");
...
(Mapping By Code)
public UserMap()
{
Table("`User`");
...
Da mesma forma, com colunas que você vai ter que fazer algo como:
Map(x => x.IsCurrent, "`Current`");
Oh as alegrias de trabalhar com bancos de dados legados.