我一直在尝试使用Dapper来代替Entity Framework,从而找到一种轻量级的解决方案。到目前为止,我对它能够快速从数据库中获取一个实体
但是,我没有找到一种简单的方法将该模型更新回数据库。
例如:
我们可以按照以下方式轻松创建一个 Dog 的 IEnumerable:
<model>
并将其转换为模型的可枚举集合,或者仅创建一个模型实例的能力感到印象深刻。非常棒。但是,我没有找到一种简单的方法将该模型更新回数据库。
例如:
public class Dog
{
public Guid Id { get; set; }
public int? Age { get; set; }
public string Name { get; set; }
public float? Weight { get; set; }
}
我们可以按照以下方式轻松创建一个 Dog 的 IEnumerable:
IEnumerable<Dog> dogs = connection.Query<Dog>("SELECT * FROM Dog")
或者,对于单个实例:
Dog dog = connection.Query<Dog>("SELECT * FROM Dog WHERE DogId = @dogid")
这一切都很顺利。但是现在,如果我们对“狗”进行更改(比如只改变它的重量),有没有一种简洁、快速、易于操作的方法将该实体重新放回数据库,而不必手动进行UPDATE查询并列出每个字段呢?
谢谢!
List<T>
应该插入多个项目?另外,坚持使用参数化查询(SELECT * FROM Dog WHERE DogId = @DogId
),除非你喜欢 SQL 注入攻击。 - vgruconnection.Execute(@"update Dog set Name=@Name, Age=@Age", list);
? - vgru