Я использую Dapper для моего приложения Windows C# форм. Я заметил, что большинство их операций CRUD принимают имя класса в качестве параметра. Например две таблицы, как показано ниже:Обновление и вставка параметров Dapper.
"Employee" Table
Column Name | Data Type |
-------------------------
EmpName | string |
EmpNo | string |
--------------------------
Employee.cs
[Table("Employee")]
public class Employee
{
[Key]
public string EmpNo {get;set;}
public string EmpName {get;set;}
}
"User" Table
Column Name | Data Type |
-------------------------
UserName | string |
UserNo | string |
--------------------------
User.cs
[Table("User")]
public class User
{
[Key]
public string UserNo {get;set;}
public string UserName {get;set;}
}
eg. var users= connection.Query<User>("select * from User");
var employees = connnection.GetList<Employee>();
сделает соответствующие задачи. но, согласно моим знаниям connection.Insert<User>(user); or connection.Update<Employee>(emp);
не существует. Пожалуйста, исправьте меня, если я ошибаюсь, есть ли какая-нибудь работа для обновления и вставки, позволяя dapper знать тип класса? Я хорошо знаю о Query()
и Execute()
, на самом деле я использую их прямо сейчас. Можно ли сделать так же просто, как GetList(ClassName);
?
Возможно, вы захотите посмотреть информацию о теге http://stackoverflow.com/tags/dapper/info, у которой есть ссылка на [Выполнение вложений и обновлений с помощью Dapper] (http://stackoverflow.com/questions/5957774/ perform-inserts-and-updates-with-dapper) –
Да, мне известны функции Query and Execute, что я ищу, чтобы сделать Insert и Update такими же простыми, как GetList (ClassName) и Get (класс). –
@RahulMakwana Для этого вам понадобится написать свою собственную упаковку. Из того, что я понимаю, люди, которые писали Даппера, сделали это, как я ответил ниже, чтобы оставить вещи открытыми. Зачастую код должен обновлять только определенные столбцы, поэтому передача объекта предполагает, что вы хотите обновить все столбцы, что является большим предположением для обновлений. Как это сейчас, это довольно точный код. –