J'utilise Dapper.Mapper pour mapper directement les requêtes Sql à mes classes d'application. Je croyais Dapper.Mapper est juste un sucre-revêtement syntaxique sur , l'original ORM. Mais, je ne suis toujours pas capable de commencer avec cela à cause de très moins de démos et d'exemples. Cependant, je l'ai essayé selon leur page git:Comment utiliser Dapper.Mapper?
var sql="Select * from Students where Grades>90"'
var conn=new MySqlConnection(ConfigurationManager.ConnectionStrings[0].ConnectionString);
var studentRecord=conn.Query<Students, TopStudents>(sql);
Et mes modèles POCO sont:
//Db table
public class Students
{
public int Id{get;set;}
public string Name{get;set;}
public float Grades{get;set;}
}
public class TopStudents
{
public int Id{get;set;}
public string Name{get;set;}
public string Grades{get;set;}
//...Few more properties
}
Mais je reçois exception suivante, No Writable Property for TopStudents found in types Students
Suis-je manque quelque chose? S'il vous plaît partager une démo rapide ou un tutoriel. Il n'y a même pas une documentation appropriée où je peux trouver la cause de l'exception et la résoudre moi-même. Comment démarrer avec Dapper.Mapper?
Votre requête renvoie uniquement 'Students', alors pourquoi avez-vous' TopStudents' comme argument de requête? Vous spécifiez les objets que dapper doit utiliser pour désérialiser la ligne. – markpsmith
Ok laissez-moi le comprendre, le premier argument (objet 'Student') est la source dont la sortie je veux ** mapper ** au second argument (objet' TopStudents'). Cette compréhension n'est-elle pas correcte? Si non, veuillez me corriger. Merci –
Cela signifie donc, ce deuxième paramètre à l'intérieur de '<' and '>' ne pas mapper le premier? Si j'aurais 4 jointures, il y aura 4 objets comme paramètres là-dedans? –