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]