Dapper et "Operation pourrait déstabiliser le runtime" lors du nommage de la colonne "Id"

.net dapper

Question

J'utilise dapper dans .NET 4.5 pour faciliter l'interrogation de ma base de données MS SQl. Ce qui suit fonctionne très bien:

PAS DE PROBLÈME:

const string sql = @"
SELECT g.Name, g.Slug, g.CreatedDate, COUNT(r.Id) recipientCount
FROM Groups g
LEFT JOIN GroupRecipients r ON r.GroupId = g.Id
WHERE g.CustomerId = @CustomerId
GROUP BY g.Id, g.Name, g.Slug, g.CreatedDate

";

return _connection.Query (sql, new {CustomerId = customerId}). ToList ();

PROBLÈME CHOIX 'ID' COLONNE - RAISES Exception de vérification :

const string sql = @"
SELECT g.Id, g.Name, g.Slug, g.CreatedDate, COUNT(r.Id) recipientCount
FROM Groups g
LEFT JOIN GroupRecipients r ON r.GroupId = g.Id
WHERE g.CustomerId = @CustomerId
GROUP BY g.Id, g.Name, g.Slug, g.CreatedDate

";
return _connection.Query<GroupWithRecipientCount>(sql, new { CustomerId = customerId }).ToList();

L'exception est lancée avec le message "L'opération pourrait déstabiliser le runtime".

Quelqu'un peut-il identifier ce que je fais peut-être mal ici? Ma classe GroupWithRecipientCount ressemble à ceci:

public class GroupWithRecipientCount
{
    public int Id { get; set; }
    public DateTime CreatedDate { get; set; }
    public string Name { get; private set; }
    public string Slug { get; private set; }
    public int RecipientCount { get; private set; }
}

EDIT 1:

J'ai enlevé ceci:

Si je renomme la colonne Id à autre chose que "Id", tout fonctionne correctement, c.-à-d.

"SELECT g.Id SomeOtherName, g.Name, ..."

On dirait qu'il se brise également si vous renommez le champ Id de ma classe en SomeOtherName, donc je suppose que le problème est lié au mappage du champ Id, mais ce n'est qu'une supposition.

Réponse acceptée

Il s’est avéré que certains problèmes de sécurité avaient étouffé l’exception initiale et jeté une autre exception à la place.


Réponse populaire

J'ai eu cette exception lorsque ma classe de modèle avait un type de données incorrect lors du mappage vers un champ SQL. Mon modèle était un (à tort) un int et l'instruction SQL renvoyait une chaîne. Vérifiez vos types de données si vous obtenez ce message d'erreur crypté.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi