問題:與Dapper.Contrib和DynamicParameters插入
有一個聰明的方式來動態參數添加到一個對象,並把它們插入到SQL數據庫?
優選使用小巧玲瓏
我正在寫一個WPF應用程序,其中(amongest其他外)我收集問卷的數據。我正在使用Dapper將c#對象映射到SQL語句。
我的問題是,我不想硬編碼所有的列名作爲對象的屬性,因爲我有很多他們!
所以我想用Dapper的DynamicParameters
動態生成Dapper可以通過Dapper.Contrib Insert
方法插入到數據庫中的對象。
我製成一個抽象類是這樣的:
public abstract class IDbRecord : DynamicParameters
{
[Key]
public string H4Id { get; set; }
}
以及使用該方法DynamicParameters.Add
在另一種方法中添加的參數。
當我的參數已被添加到我的IDbRecord
派生對象時,我嘗試插入它。
此結果是Insert
方法嘗試插入公共屬性DynamicParameters
而不是私人parameters
Dictonary的內容。查看Dapper.Contrib的自述文件時有意義。我只是希望他們已經實施了Insert()
來抓取parameters
Dictonary,當對象來自DynamicParameters
。
你試過用Dapper.Contrib或Dapper.Rainbow嗎? – Kiquenet
@Kiquenet,看看這個標題;) 我試圖用'Dapper.Contrib'來做到這一點。我找到了解決辦法。感謝您的關注。 – Smedegaard