我一直在玩Dapper,試圖看看它是否是一個很好的實體框架的輕量級替代品。到目前爲止,我已經對它能夠快速從數據庫中獲取實體<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查詢,列出每個字段?
謝謝!
似乎傳遞'名單'應[插入多個項目(http://stackoverflow.com/a/6500834/69809)? btw堅持參數化查詢('SELECT * FROM Dog WHI DogId = @ DogId'),除非您喜歡sql注入攻擊。 –
Groo
該語法如何工作?在看GitHub上的自述文件時,我沒有看到這樣的例子。 https://github.com/StackExchange/dapper-dot-net –
大概就像我鏈接到的答案:'connection.Execute(@「更新狗設置名稱= @名稱,年齡= @年齡」,列表);'? – Groo