Мапинг параметров запроса по позиции

309
25 сентября 2017, 00:40

В общем, формирую DataTable, далее в нее заношу данные.

Затем, хочу эти данные слить в Access бд. Я генерю запрос на INSERT ручками, например

INSERT INTO TableName (f1,f2,f3) values (@f1,@f2,@f3)

Далее, хочу в цикле пробежаться по каждой DataRow и выполнить запрос.

Выполняю execute через Dapper, вида:

_conn.Execute(cmd, row.ItemArray)

И ловлю ошибку, что недостаточно параметров... Похоже, он пытается связать все по имени.

Возможно ли сделать связку по позиции? Или может быть есть другой способ, где можно не заморачиваться?

Answer 1

Dapper мапит параметры только по имени (как и ADO.NET, впрочем). Возможно, самый простой способ -- использовать анонимный тип:

connection.Query<Dog>("select Age = @Age, Id = @Id", new { Age = (int?)null, Id = guid });
READ ALSO
Запуск второй формы из первой при нажатии кнопки(С#, UWP, XAML)

Запуск второй формы из первой при нажатии кнопки(С#, UWP, XAML)

Проблема заключаеться в том что мне нужно чтобы при нажатии кнопки открывалась вторая форма

316
Взятие текста из кнопки, а не из стиля

Взятие текста из кнопки, а не из стиля

Есть стиль для кнопки:

228
Считать файлы по Bluetooth в xamarin.android или java

Считать файлы по Bluetooth в xamarin.android или java

Есть 2 телефона на androidТелефоны подключены друг другу по bluetooth

307
Обработка исключений ASP.NET MVC

Обработка исключений ASP.NET MVC

При добавлении модели в базу данных, если некоторые поля в модели == null, то будет исключение SystemData

401