Est-il possible de faire quelque chose comme ça dans NHibernate?NHibernate: Obtenir l'objet par requête SQL
Product GetSpecificProduct()
{
return session.CreateSQLQuery("SELECT * FROM Products WHERE price =
$500").UniqueResult<Product>();
}
Lorsque je tente d'exécuter ce code que je reçois:
System.InvalidCastException: Impossible de jeter l'objet de type 'System.Object []' au type de produit. Ou dois-je utiliser le langage de requête NHibernate?
en fait la chose SetResultTransformer ne fonctionne pas pour moi ... Je reçois un message d'erreur disant : Erreur - NHibernate.PropertyNotFoundException: Impossible de trouver un setter pour la propriété 'Fabricant' dans la classe Produit .............. (Ceci est en quelque sorte vrai car je n'ai pas de propriété Fabricant dans le produit de classe, la propriété est appelée ManufacturerName, le mappage xml de nhibernate spécifie que ma propriété ManufacturerName correspond à la colonne Manufacturer dans le tableau) – MadSeb
Au lieu de select *, vous pouvez spécifier les colonnes que vous voulez dans la table des produits. De cette façon, SetResultTransformer fonctionnera. –
@sh_kamalh J'ai spécifié toutes les colonnes et j'ai toujours eu la même erreur – Ms01