Я новый ребенок в Dapper. Попытка включить CRUD-операции с Dapper и Dapper.SimpleCRUD lib. Вот пример кода ...
Мои данные модели ПохожаDapper.SimpleCRUD Вставка/обновление/получение сбоя с сообщением «У объекта должно быть хотя бы одно свойство [Key]»
Class Product
{
public string prodId {get;set;}
public string prodName {get;set;}
public string Location {get;set;}
}
Dapper Реализация - Вставка
public void Insert(Product item)
{
using(var con = GetConnection())
{
con.Insert(item);
}
}
Поскольку PRODID в Db является тождество колонка это не удается. Как это указывает на то, что ProdId является столбцом Identity в базе данных?
Щеголеватый Реализация - Получить
public IEnumerable<Product> GetAll()
{
IEnumerable<Product> item = null;
using (var con = GetConnection())
{
item = con.GetList<Product>();
}
return item;
}
Это дает исключение:
"Entity должен иметь по крайней мере одно свойство [Key]"!
Я попытался добавить атрибут [Ключ], но он не может найти, из какого lib он должен произойти. Пробовал использовать Dapper; и используя System.ComponentModel.DataAnnotations.Schema; должен ли я импортировать lib для этого? – user2066540
Необходимо проверить реализацию DapperExtension от Github, обходное решение с уверенным выстрелом будет либо делать столбец Key как Id, который можно сопоставить с другим столбцом имени db, используя Dapper - Fluent Map - https://github.com/henkmollema/Dapper -FluentMap, или я предпочитаю использовать connection.Execute, который работает безупречно –
Вы проверили ссылку в ответе, где вы можете создать явное сопоставление для Key, что было бы проще, выберите один из вариантов, чтобы заставить его работать –