Я играл с Dapper, пытаясь понять, является ли это хорошей альтернативой весу для Entity Framework. До сих пор я был впечатлен его способностью быстро вытащить сущность <model>
из БД и получить ее в IEnumerable модели или просто создать один экземпляр модели. Очень гладкий.Может ли Dapper использоваться для обновления и вставки моделей?
Но то, что я не вижу, - это простой способ обновить эту модель до db.
Пример:
public class Dog
{
public Guid Id { get; set; }
public int? Age { get; set; }
public string Name { get; set; }
public float? Weight { get; set; }
}
Мы можем легко создать IEnumerable собаки следующим образом:
IEnumerable<Dog> dogs = connection.Query<Dog>("SELECT * FROM Dog")
Или, для одного экземпляра:
Dog dog = connection.Query<Dog>("SELECT * FROM Dog WHERE DogId = @dogid")
Это все прекрасно работает. Но теперь, если мы вносим изменения в «собаку» (скажем, просто изменяем ее вес), есть ли пятно, быстрый и простой способ вернуть этот объект в базу данных без необходимости выполнять ручной запрос UPDATE, перечисляя каждое поле ?
Спасибо!
Кажется, что прохождение '' List следует [вставить несколько элементов] (http://stackoverflow.com/a/6500834/69809)? Btw придерживается параметризованных запросов ('SELECT * FROM Dog WHERE DogId = @ DogId'), если вам не нравятся атаки на SQL-инъекции. –
Groo
Как будет работать этот синтаксис? При взгляде на ReadMe на GitHub я не вижу примера этого. https://github.com/StackExchange/dapper-dot-net –
Предположительно, как ответ, который я связал с: 'connection.Execute (@" update Dog set Name = @ Name, Age = @ Age ", list);'? – Groo