Dapper contrib: почему ключ не найден?

Я пытаюсь использовать GetAll метод Dapper contrib. Хотя я установил Key в моей сущности я получаю исключение:

GetAll поддерживает только сущность со свойством [Key] или [ExplicitKey]

Моя сущность:

using Dapper.Contrib.Extensions;
public class Customer
{
    [Key]
    int Recid { get; set; }
    public string Name { get; set; }

    public Customer()
    {

    }
}

И мой метод Dapper:

public IEnumerable<Customer> GetAllCustomers()
{
    using (connection)
    {
        connection.Open();
        return connection.GetAll<Customer>();
    }
}

Что я делаю неправильно?

2 ответа

Покопавшись, я понял. Key поле должно быть общедоступным:

using Dapper.Contrib.Extensions;
public class Customer
{
    [Key]
    public int Recid { get; set; }
    public string Name { get; set; }

    public Customer()
    {

    }
}

Попробуйте явно объявить оба типа [Key]:

      [System.ComponentModel.DataAnnotations.Key]
[Dapper.Contrib.Extensions.Key]
Другие вопросы по тегам