使用Dapper执行插入和更新

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (26)

我对使用Dapper很感兴趣,但据我所知,它只支持查询和执行。我不认为Dapper包含插入和更新对象的方法。

考虑到我们的项目(大多数项目?)需要进行插入和更新,那么与Dapper一起执行插入和更新的最佳实践是什么?

最好我们不必求助于参数构建的ADO.NET方法,等等。

在这一点上,我能找到的最好的答案是使用LinqToSQL进行插入和更新。有没有更好的答案?

提问于
用户回答回答于

考虑构建一些帮助程序,仍然决定API,以及是否包含在核心中。

同时,可以执行以下操作

val = "my value";
cnn.Execute("insert Table(val) values(@val)", new {val});

cnn.Execute("update Table set val = @val where Id = @id", new {val, id = 1});

更新

以下列形式进行的项目IDbConnection推广方法:

T Get<T>(id);
IEnumerable<T> GetAll<T>();
int Insert<T>(T obj);
int Insert<T>(Enumerable<T> list);
bool Update<T>(T obj);
bool Update<T>(Enumerable<T> list);
bool Delete<T>(T obj);
bool Delete<T>(Enumerable<T> list);
bool DeleteAll<T>();
用户回答回答于

你可以这样做:

sqlConnection.Open();

string sqlQuery = "INSERT INTO [dbo].[Customer]([FirstName],[LastName],[Address],[City]) VALUES (@FirstName,@LastName,@Address,@City)";
sqlConnection.Execute(sqlQuery,
    new
    {
        customerEntity.FirstName,
        customerEntity.LastName,
        customerEntity.Address,
        customerEntity.City
    });

sqlConnection.Close();

扫码关注云+社区