Como posso especificar um mapeamento DateTime no nhibernate ao usar o Firebird?
-
13-09-2019 - |
Pergunta
Eu estou usando nhibernate como meu ORM e Firebird incorporado como o banco de dados. Como é que eu tenho sobre como salvar um DateTime ao banco de dados?
Este é um exemplo de definição de uma classe.
[Class(Table = "table")]
public class Table
{
private int mId;
private DateTime mDate;
[Id(Name = "Id"),Generator(1, Class = "native")]
public virtual long Id
{
get { return mId; }
set { mId = value; }
}
[Property]
public virtual DateTime Date
{
get { return mDate; }
set { mDate = value; }
}
}
Eu estou supondo que eu tenho para especificar algo no atributo de propriedade, mas eu não sei o que.
Ao tentar esse mapeamento eu recebo o erro follwoing:
FirebirdSql.Data.FirebirdClient.FbException: Erro SQL dinâmico código de erro SQL = -104 Token desconhecido - linha 1, char 63 Data ??p>
Solução
Apenas um palpite, mas poderia estar relacionado com o nome da propriedade a ser uma palavra reservada (Data)?
Outras dicas
Acredito firmemente que NHibernate vai descobrir isso mesmo.
Pelo menos, quando o uso de arquivos XML para especificar o mapeamento, você não está obrigado a definir o tipo desde NHibernate pode descobrir isso por si mesmo, então eu acho que NHibernate vai conseguir fazer isso em sua situação também.