NHibernate CreateSQLQuery
Im essayant d'obtenir certaines données avec NH CreateSQLQuery méthode comme
IList<Logistic> LCollection = sess.CreateSQLQuery(@"select * from some_schema.logistic")
.SetResultTransformer(Transformers.AliasToBean(typeof(Logistic)))
.List<Logistic>();
logistique de classe est
public class Logistic
{
public virtual long? l_id { get; set; }
public virtual long? carrier_id { get; set; }
...
}
cartographie
public class LogisticMap : ClassMap<Logistic>
{
public LogisticMap()
{
Table("some_chema.logistic");
Id(x => x.l_id).GeneratedBy.Sequence("some_chema.logistic_sq");
Map(x => x.carrier_id);
...
}
}
mais j'ai l'erreur
The type System.Decimal can not be assigned to a property of type System.Nullable`1[System.Int64] setter of MyNamespase.Logistic.l_id
une idée de ce que peut-être tort?
source d'informationauteur maxs87
Vous devez vous connecter pour publier un commentaire.
Un
AliasToBean
transformateur est utilisé lorsque vous souhaitez récupérer léger DTO au lieu d'entités. (Par exemple, si vous avez un aperçu de l'écran, qui affiche uniquement les informations essentielles de chaque entité, alors il est préférable d'utiliser un DTO et de créer une requête dans NHibernate qui utilise un AliasToBean transformateur de sorte que NH sait qu'il ne devrait pas récupérer la complète entités).Si vous souhaitez récupérer les entités à l'aide d'une requête SQL, vous devez faire comme ceci:
Mais, je me demande pourquoi vous voulez utiliser un natif de la requête SQL dans ce cas ? Pourquoi ne pas utiliser
HQL
ICriteria
ouQueryOver
?